diff --git a/.gitignore b/.gitignore index 48d140682ba4b8bf55ca2dc8560e77520a7bacda..cd34b530f8cf8dc4585ef23e30270903fa5c222e 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ npm-debug.log # instanbul code coverage coverage +/examples/tmp-docs diff --git a/examples/docs/README.md b/examples/docs/README.md index 896a8a1f46598d8b780d61430d8847fb6139a7fb..68536b765875bf0ff6ab2a2181e3cfb33fd2b98c 100644 --- a/examples/docs/README.md +++ b/examples/docs/README.md @@ -25,3 +25,4 @@ ## /subdir/ * [Subdir](./subdir/subdir.schema.md) – `https://example.com/schemas/subdir/subdir` + diff --git a/spec/examples/README.md b/spec/examples/README.md index 896a8a1f46598d8b780d61430d8847fb6139a7fb..68536b765875bf0ff6ab2a2181e3cfb33fd2b98c 100644 --- a/spec/examples/README.md +++ b/spec/examples/README.md @@ -25,3 +25,4 @@ ## /subdir/ * [Subdir](./subdir/subdir.schema.md) – `https://example.com/schemas/subdir/subdir` + diff --git a/spec/lib/integrationTest.spec.js b/spec/lib/integrationTest.spec.js index 76afa36ffcc0abe27c37d1a229aae3229628158c..e9952f8fa248a3f4bae17aa736837c7dc3e98476 100644 --- a/spec/lib/integrationTest.spec.js +++ b/spec/lib/integrationTest.spec.js @@ -11,50 +11,28 @@ beforeEach(function() { }); describe('Compare results', () => { - it('Run jsonschema2md on example schemas', done => { + + it('Run jsonschema2md for custom file extension', done => { const ls = spawn('node', [ 'cli.js', '-d', 'examples/schemas', '-o', - 'examples/docs', + 'examples/tmp-docs', '-x', 'examples/generated-schemas', - '-m', - 'template=reference', - '-m', - 'foo=bar', - '--link-abstract', - 'abstract.md', - '--link-status', - 'status.md' + '-e', + 'js' ]); ls.on('close', code => { expect(code).toEqual(0); - - const files = readdirSync('./spec/examples'); - - files.forEach(file => { - if (statSync('./spec/examples/' + file).isFile()) { - it('Comparing ' + file, indone => { - console.log('file ' + file); - readFile('./spec/examples/' + file, (err, expectedbuf) => { - expect(err).toBeNull(); - readFile('./examples/docs/' + file, (err, actualbuf) => { - expect(err).toBeNull(); - expect(actualbuf.toString()).toEqual(expectedbuf.toString()); - indone(); - }); - }); - }); - } - }); done(); }); }); - it('Run jsonschema2md for custom file extension', done => { + + it('Run jsonschema2md on example schemas', done => { const ls = spawn('node', [ 'cli.js', '-d', @@ -63,13 +41,39 @@ describe('Compare results', () => { 'examples/docs', '-x', 'examples/generated-schemas', - '-e', - 'js' + '-m', + 'template=reference', + '-m', + 'foo=bar', + '--link-abstract', + 'abstract.md', + '--link-status', + 'status.md' ]); ls.on('close', code => { expect(code).toEqual(0); + + const files = readdirSync('./spec/examples'); + expect(files.length).toEqual(17); done(); }); }); + + const files = readdirSync('./spec/examples'); + files.forEach(file => { + if (statSync('./spec/examples/' + file).isFile()) { + it('Comparing ' + file, indone => { + console.log('file ' + file); + readFile('./spec/examples/' + file, (err, expectedbuf) => { + expect(err).toBeNull(); + readFile('./examples/docs/' + file, (err, actualbuf) => { + expect(err).toBeNull(); + expect(actualbuf.toString()).toEqual(expectedbuf.toString()); + indone(); + }); + }); + }); + } + }); }); diff --git a/templates/md/readme.ejs b/templates/md/readme.ejs index 7fc4096fc80652425faaee790126c889b47c61d9..bb2249770ac0c8106f484489790b1c57206c752b 100644 --- a/templates/md/readme.ejs +++ b/templates/md/readme.ejs @@ -7,8 +7,9 @@ # Readme -<% for(group in groups) {%> +<% _.forIn(groups, (schemas, group) => { %> ## <%= group %> -<% for(let i=0; i<groups[group].length; i++) { %> -* [<%= groups[group][i].title %>](.<%= groups[group][i].relative %>.schema.md) – `<%= groups[group][i].id %>`<% }} %> +<% _.forEach(schemas, schema => { %> +* [<%= schema.title %>](.<%= schema.relative %>.schema.md) – `<%= schema.id %>`<% }); %> +<% }); %>