aboutsummaryrefslogtreecommitdiffstats
path: root/packages/deployer/test
diff options
context:
space:
mode:
authorFabio Berger <me@fabioberger.com>2018-04-11 18:00:30 +0800
committerFabio Berger <me@fabioberger.com>2018-04-11 18:00:30 +0800
commit29dc22e208080fa8ff0871b98b530a2deb251a73 (patch)
treedb372a34e85ac8caf4a3f3ed9d7591452df9cb1a /packages/deployer/test
parent6f72fed8b5b37fac5096413b363b533e0a29f7b5 (diff)
parentc44f9e56ada898ffd0d0e57aa228006977fb238c (diff)
downloaddexon-0x-contracts-29dc22e208080fa8ff0871b98b530a2deb251a73.tar
dexon-0x-contracts-29dc22e208080fa8ff0871b98b530a2deb251a73.tar.gz
dexon-0x-contracts-29dc22e208080fa8ff0871b98b530a2deb251a73.tar.bz2
dexon-0x-contracts-29dc22e208080fa8ff0871b98b530a2deb251a73.tar.lz
dexon-0x-contracts-29dc22e208080fa8ff0871b98b530a2deb251a73.tar.xz
dexon-0x-contracts-29dc22e208080fa8ff0871b98b530a2deb251a73.tar.zst
dexon-0x-contracts-29dc22e208080fa8ff0871b98b530a2deb251a73.zip
Merge branch 'development' into removeMigrateStep
* development: Fix lint error Fix documentation links in some READMEs Fix relative link Add step to publishing that upload staging doc jsons, deploys staging website, opens every docs page and asks the dev to confirm that each one renders properly before publishing Fix web3Wrapper build command Add top-level `yarn lerna:stage_docs` to upload docJsons to the staging S3 bucket for all packages with a docs page Added a detailed description of `renameOverloadedMethods` (special thanks to @fabioberger). Updated Javascript styles in the Abi-Gen and Utils packages, around support for function overloading. Updated deployer to accept a list of contract directories as input. Contract directories are namespaced to a void clashes. Also in this commit is a fix for overloading contract functions. Refactor publish script to have it's main execution body be lean and discrete steps # Conflicts: # packages/contracts/package.json # packages/deployer/package.json
Diffstat (limited to 'packages/deployer/test')
-rw-r--r--packages/deployer/test/compiler_test.ts16
-rw-r--r--packages/deployer/test/compiler_utils_test.ts22
-rw-r--r--packages/deployer/test/deployer_test.ts16
-rw-r--r--packages/deployer/test/fixtures/contracts/main/Exchange.sol (renamed from packages/deployer/test/fixtures/contracts/Exchange.sol)6
-rw-r--r--packages/deployer/test/fixtures/contracts/main/TokenTransferProxy.sol (renamed from packages/deployer/test/fixtures/contracts/TokenTransferProxy.sol)6
5 files changed, 46 insertions, 20 deletions
diff --git a/packages/deployer/test/compiler_test.ts b/packages/deployer/test/compiler_test.ts
index b03ae7935..817a3b3f9 100644
--- a/packages/deployer/test/compiler_test.ts
+++ b/packages/deployer/test/compiler_test.ts
@@ -3,7 +3,13 @@ import 'mocha';
import { Compiler } from '../src/compiler';
import { fsWrapper } from '../src/utils/fs_wrapper';
-import { CompilerOptions, ContractArtifact, ContractNetworkData, DoneCallback } from '../src/utils/types';
+import {
+ CompilerOptions,
+ ContractArtifact,
+ ContractDirectory,
+ ContractNetworkData,
+ DoneCallback,
+} from '../src/utils/types';
import { exchange_binary } from './fixtures/exchange_bin';
import { constants } from './util/constants';
@@ -13,11 +19,15 @@ const expect = chai.expect;
describe('#Compiler', function() {
this.timeout(constants.timeoutMs);
const artifactsDir = `${__dirname}/fixtures/artifacts`;
- const contractsDir = `${__dirname}/fixtures/contracts`;
+ const mainContractDir: ContractDirectory = { path: `${__dirname}/fixtures/contracts/main`, namespace: 'main' };
+ const baseContractDir: ContractDirectory = { path: `${__dirname}/fixtures/contracts/base`, namespace: 'base' };
+ const contractDirs: Set<ContractDirectory> = new Set();
+ contractDirs.add(mainContractDir);
+ contractDirs.add(baseContractDir);
const exchangeArtifactPath = `${artifactsDir}/Exchange.json`;
const compilerOpts: CompilerOptions = {
artifactsDir,
- contractsDir,
+ contractDirs,
networkId: constants.networkId,
optimizerEnabled: constants.optimizerEnabled,
specifiedContracts: new Set(constants.specifiedContracts),
diff --git a/packages/deployer/test/compiler_utils_test.ts b/packages/deployer/test/compiler_utils_test.ts
index 246304858..5377d3308 100644
--- a/packages/deployer/test/compiler_utils_test.ts
+++ b/packages/deployer/test/compiler_utils_test.ts
@@ -47,28 +47,34 @@ describe('Compiler utils', () => {
});
describe('#parseDependencies', () => {
it('correctly parses Exchange dependencies', async () => {
- const exchangeSource = await fsWrapper.readFileAsync(`${__dirname}/fixtures/contracts/Exchange.sol`, {
+ const exchangeSource = await fsWrapper.readFileAsync(`${__dirname}/fixtures/contracts/main/Exchange.sol`, {
encoding: 'utf8',
});
- expect(parseDependencies(exchangeSource)).to.be.deep.equal([
- 'TokenTransferProxy.sol',
- 'Token.sol',
- 'SafeMath.sol',
+ const sourceFileId = '/main/Exchange.sol';
+ expect(parseDependencies(exchangeSource, sourceFileId)).to.be.deep.equal([
+ '/main/TokenTransferProxy.sol',
+ '/base/Token.sol',
+ '/base/SafeMath.sol',
]);
});
it('correctly parses TokenTransferProxy dependencies', async () => {
const exchangeSource = await fsWrapper.readFileAsync(
- `${__dirname}/fixtures/contracts/TokenTransferProxy.sol`,
+ `${__dirname}/fixtures/contracts/main/TokenTransferProxy.sol`,
{
encoding: 'utf8',
},
);
- expect(parseDependencies(exchangeSource)).to.be.deep.equal(['Token.sol', 'Ownable.sol']);
+ const sourceFileId = '/main/TokenTransferProxy.sol';
+ expect(parseDependencies(exchangeSource, sourceFileId)).to.be.deep.equal([
+ '/base/Token.sol',
+ '/base/Ownable.sol',
+ ]);
});
// TODO: For now that doesn't work. This will work after we switch to a grammar-based parser
it.skip('correctly parses commented out dependencies', async () => {
const contractWithCommentedOutDependencies = `// import "./TokenTransferProxy.sol";`;
- expect(parseDependencies(contractWithCommentedOutDependencies)).to.be.deep.equal([]);
+ const sourceFileId = '/main/TokenTransferProxy.sol';
+ expect(parseDependencies(contractWithCommentedOutDependencies, sourceFileId)).to.be.deep.equal([]);
});
});
});
diff --git a/packages/deployer/test/deployer_test.ts b/packages/deployer/test/deployer_test.ts
index 238624220..a213932f9 100644
--- a/packages/deployer/test/deployer_test.ts
+++ b/packages/deployer/test/deployer_test.ts
@@ -4,7 +4,13 @@ import 'mocha';
import { Compiler } from '../src/compiler';
import { Deployer } from '../src/deployer';
import { fsWrapper } from '../src/utils/fs_wrapper';
-import { CompilerOptions, ContractArtifact, ContractNetworkData, DoneCallback } from '../src/utils/types';
+import {
+ CompilerOptions,
+ ContractArtifact,
+ ContractDirectory,
+ ContractNetworkData,
+ DoneCallback,
+} from '../src/utils/types';
import { constructor_args, exchange_binary } from './fixtures/exchange_bin';
import { constants } from './util/constants';
@@ -14,11 +20,15 @@ const expect = chai.expect;
describe('#Deployer', () => {
const artifactsDir = `${__dirname}/fixtures/artifacts`;
- const contractsDir = `${__dirname}/fixtures/contracts`;
const exchangeArtifactPath = `${artifactsDir}/Exchange.json`;
+ const mainContractDir: ContractDirectory = { path: `${__dirname}/fixtures/contracts/main`, namespace: '' };
+ const baseContractDir: ContractDirectory = { path: `${__dirname}/fixtures/contracts/base`, namespace: 'base' };
+ const contractDirs: Set<ContractDirectory> = new Set();
+ contractDirs.add(mainContractDir);
+ contractDirs.add(baseContractDir);
const compilerOpts: CompilerOptions = {
artifactsDir,
- contractsDir,
+ contractDirs,
networkId: constants.networkId,
optimizerEnabled: constants.optimizerEnabled,
specifiedContracts: new Set(constants.specifiedContracts),
diff --git a/packages/deployer/test/fixtures/contracts/Exchange.sol b/packages/deployer/test/fixtures/contracts/main/Exchange.sol
index 1b6819700..ea9ca3afa 100644
--- a/packages/deployer/test/fixtures/contracts/Exchange.sol
+++ b/packages/deployer/test/fixtures/contracts/main/Exchange.sol
@@ -1,6 +1,6 @@
/*
- Copyright 2017 ZeroEx Intl.
+ Copyright 2018 ZeroEx Intl.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -19,8 +19,8 @@
pragma solidity 0.4.14;
import "./TokenTransferProxy.sol";
-import "./base/Token.sol";
-import "./base/SafeMath.sol";
+import "/base/Token.sol";
+import "/base/SafeMath.sol";
/// @title Exchange - Facilitates exchange of ERC20 tokens.
/// @author Amir Bandeali - <amir@0xProject.com>, Will Warren - <will@0xProject.com>
diff --git a/packages/deployer/test/fixtures/contracts/TokenTransferProxy.sol b/packages/deployer/test/fixtures/contracts/main/TokenTransferProxy.sol
index 90c8e7d66..99d16cb57 100644
--- a/packages/deployer/test/fixtures/contracts/TokenTransferProxy.sol
+++ b/packages/deployer/test/fixtures/contracts/main/TokenTransferProxy.sol
@@ -1,6 +1,6 @@
/*
- Copyright 2017 ZeroEx Intl.
+ Copyright 2018 ZeroEx Intl.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -18,8 +18,8 @@
pragma solidity 0.4.14;
-import "./base/Token.sol";
-import "./base/Ownable.sol";
+import "/base/Token.sol";
+import "/base/Ownable.sol";
/// @title TokenTransferProxy - Transfers tokens on behalf of contracts that have been approved via decentralized governance.
/// @author Amir Bandeali - <amir@0xProject.com>, Will Warren - <will@0xProject.com>