UNPKG

solidity-docgen

Version:

Documentation generator for Solidity smart contracts.

52 lines 1.84 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const test_1 = __importDefault(require("./utils/test")); const path_1 = __importDefault(require("path")); const site_1 = require("./site"); /** * @param files The name of the Solidity file whose contents should be considered. */ function testPages(title, opts, expected) { (0, test_1.default)(title, t => { const { files, assign, exclude = [] } = opts; const cfg = { sourcesDir: 'test-contracts', exclude, pageExtension: '.md', pages: (i, f) => files.includes(path_1.default.parse(f.absolutePath).name) ? assign(i, f, cfg) : undefined, }; const site = (0, site_1.buildSite)(t.context.build, cfg); const pages = site.pages.map(p => ({ id: p.id, items: p.items.map(i => i.name), })).sort((a, b) => a.id.localeCompare(b.id)); t.deepEqual(pages, expected); }); } testPages('assign to single page', { files: ['S08_AB'], assign: site_1.pageAssigner.single, }, [{ id: 'index.md', items: ['A', 'B'] }]); testPages('assign to item pages', { files: ['S08_AB'], assign: site_1.pageAssigner.items, }, [ { id: 'A.md', items: ['A'] }, { id: 'B.md', items: ['B'] }, ]); testPages('assign to file pages', { files: ['S08_AB', 'S08_C'], assign: site_1.pageAssigner.files, }, [ { id: 'S08_AB.md', items: ['A', 'B'] }, { id: 'S08_C.md', items: ['C'] }, ]); testPages('exclude', { files: ['S08_AB', 'S08_E0'], exclude: ['S08_E0.sol'], assign: site_1.pageAssigner.single, }, [{ id: 'index.md', items: ['A', 'B'] }]); //# sourceMappingURL=site.test.js.map