aboutsummaryrefslogtreecommitdiffstats
path: root/packages/sol-doc/test
diff options
context:
space:
mode:
authorF. Eugene Aumson <gene@aumson.org>2018-09-22 22:31:47 +0800
committerF. Eugene Aumson <gene@aumson.org>2018-09-22 22:55:46 +0800
commit9f0dfb1e1a4c97e462cf298e0452be1d0fcf2216 (patch)
tree0a4e7c5164c4c6f023988203f81d1fabe7e022a5 /packages/sol-doc/test
parent37cb18e1daa8bf33b92b94b93851e91d50383c1e (diff)
downloaddexon-sol-tools-9f0dfb1e1a4c97e462cf298e0452be1d0fcf2216.tar
dexon-sol-tools-9f0dfb1e1a4c97e462cf298e0452be1d0fcf2216.tar.gz
dexon-sol-tools-9f0dfb1e1a4c97e462cf298e0452be1d0fcf2216.tar.bz2
dexon-sol-tools-9f0dfb1e1a4c97e462cf298e0452be1d0fcf2216.tar.lz
dexon-sol-tools-9f0dfb1e1a4c97e462cf298e0452be1d0fcf2216.tar.xz
dexon-sol-tools-9f0dfb1e1a4c97e462cf298e0452be1d0fcf2216.tar.zst
dexon-sol-tools-9f0dfb1e1a4c97e462cf298e0452be1d0fcf2216.zip
feat: make sol-doc only document what's requested
if a list of contracts-to-document is passed into sol-doc, then the output should only contain documentation for the contracts requested. if an empty/undefined list is passed, then it should document all contracts that were found.
Diffstat (limited to 'packages/sol-doc/test')
-rw-r--r--packages/sol-doc/test/solidity_doc_generator_test.ts26
1 files changed, 11 insertions, 15 deletions
diff --git a/packages/sol-doc/test/solidity_doc_generator_test.ts b/packages/sol-doc/test/solidity_doc_generator_test.ts
index 5004b1a90..0cbb786af 100644
--- a/packages/sol-doc/test/solidity_doc_generator_test.ts
+++ b/packages/sol-doc/test/solidity_doc_generator_test.ts
@@ -24,14 +24,13 @@ describe('#SolidityDocGenerator', () => {
const docPromises: Array<Promise<DocAgnosticFormat>> = [
generateSolDocAsync(`${__dirname}/../../test/fixtures/contracts`),
generateSolDocAsync(`${__dirname}/../../test/fixtures/contracts`, []),
- generateSolDocAsync(`${__dirname}/../../test/fixtures/contracts`, ['TokenTransferProxy']),
];
docPromises.forEach(docPromise => {
- it('should generate a doc object that matches the TokenTransferProxy fixture', async () => {
+ it('should generate a doc object that matches the TokenTransferProxy fixture with its dependencies', async () => {
const doc = await docPromise;
expect(doc).to.not.be.undefined();
- verifyTokenTransferProxyABIIsDocumented(doc, 'TokenTransferProxy');
+ verifyTokenTransferProxyAndDepsABIsAreDocumented(doc, 'TokenTransferProxy');
let addAuthorizedAddressMethod: SolidityMethod | undefined;
for (const method of doc.TokenTransferProxy.methods) {
@@ -48,6 +47,12 @@ describe('#SolidityDocGenerator', () => {
expect((addAuthorizedAddressMethod as SolidityMethod).parameters[0].comment).to.equal(expectedParamComment);
});
});
+ it('should generate a doc object that matches the TokenTransferProxy fixture', async () => {
+ const doc: DocAgnosticFormat = await generateSolDocAsync(`${__dirname}/../../test/fixtures/contracts`, [
+ 'TokenTransferProxy',
+ ]);
+ verifyTokenTransferProxyABIIsDocumented(doc, 'TokenTransferProxy');
+ });
describe('when processing all the permutations of devdoc stuff that we use in our contracts', () => {
let doc: DocAgnosticFormat;
before(async () => {
@@ -188,19 +193,10 @@ function verifyTokenTransferProxyABIIsDocumented(doc: DocAgnosticFormat, contrac
throw new Error('events should never be undefined');
}
expect(events.length).to.equal(tokenTransferProxyEventCount);
+}
- expect(doc.Ownable).to.not.be.undefined();
- expect(doc.Ownable.constructors).to.not.be.undefined();
- expect(doc.Ownable.methods).to.not.be.undefined();
- const ownableConstructorCount = 1;
- const ownableMethodCount = 2;
- const ownableEventCount = 1;
- expect(doc.Ownable.constructors.length).to.equal(ownableConstructorCount);
- expect(doc.Ownable.methods.length).to.equal(ownableMethodCount);
- if (_.isUndefined(doc.Ownable.events)) {
- throw new Error('events should never be undefined');
- }
- expect(doc.Ownable.events.length).to.equal(ownableEventCount);
+function verifyTokenTransferProxyAndDepsABIsAreDocumented(doc: DocAgnosticFormat, contractName: string): void {
+ verifyTokenTransferProxyABIIsDocumented(doc, contractName);
expect(doc.ERC20).to.not.be.undefined();
expect(doc.ERC20.constructors).to.not.be.undefined();