diff options
author | F. Eugene Aumson <gene@aumson.org> | 2018-09-22 22:31:47 +0800 |
---|---|---|
committer | F. Eugene Aumson <gene@aumson.org> | 2018-09-22 22:55:46 +0800 |
commit | 9f0dfb1e1a4c97e462cf298e0452be1d0fcf2216 (patch) | |
tree | 0a4e7c5164c4c6f023988203f81d1fabe7e022a5 /packages/sol-doc/test | |
parent | 37cb18e1daa8bf33b92b94b93851e91d50383c1e (diff) | |
download | dexon-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.ts | 26 |
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(); |