41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { chaiSetup, constants, provider, txDefaults, web3Wrapper } from '@0x/contracts-test-utils';
 | 
						|
import { BlockchainLifecycle } from '@0x/dev-utils';
 | 
						|
import { StringRevertError } from '@0x/utils';
 | 
						|
import * as chai from 'chai';
 | 
						|
import * as _ from 'lodash';
 | 
						|
 | 
						|
import { artifacts, TestLibRichErrorsContract } from '../src';
 | 
						|
 | 
						|
chaiSetup.configure();
 | 
						|
const expect = chai.expect;
 | 
						|
const blockchainLifecycle = new BlockchainLifecycle(web3Wrapper);
 | 
						|
 | 
						|
describe('LibRichErrors', () => {
 | 
						|
    let lib: TestLibRichErrorsContract;
 | 
						|
 | 
						|
    before(async () => {
 | 
						|
        await blockchainLifecycle.startAsync();
 | 
						|
        // Deploy SafeMath
 | 
						|
        lib = await TestLibRichErrorsContract.deployFrom0xArtifactAsync(
 | 
						|
            artifacts.TestLibRichErrors,
 | 
						|
            provider,
 | 
						|
            txDefaults,
 | 
						|
        );
 | 
						|
    });
 | 
						|
 | 
						|
    after(async () => {
 | 
						|
        await blockchainLifecycle.revertAsync();
 | 
						|
    });
 | 
						|
 | 
						|
    describe('_rrevert', () => {
 | 
						|
        it('should correctly revert the extra bytes', async () => {
 | 
						|
            return expect(lib.externalRRevert.callAsync(constants.NULL_BYTES)).to.revertWith(constants.NULL_BYTES);
 | 
						|
        });
 | 
						|
 | 
						|
        it('should correctly revert a StringRevertError', async () => {
 | 
						|
            const error = new StringRevertError('foo');
 | 
						|
            return expect(lib.externalRRevert.callAsync(error.encode())).to.revertWith(error);
 | 
						|
        });
 | 
						|
    });
 | 
						|
});
 |