UNPKG

@adobe/jsonschema2md

Version:

Validate and document complex JSON Schemas the easy way.

73 lines (64 loc) 1.8 kB
const { spawn } = require('child_process'); const path = require('path'); const { readFileSync, readdirSync, statSync } = require('fs'); beforeEach(function() { jasmine.addMatchers( require('jasmine-diff')(jasmine, { colors: true, inline: true }) ); }); describe('Compare results', () => { it('Run jsonschema2md for custom file extension', done => { const ls = spawn('node', [ 'cli.js', '-d', 'examples/schemas', '-o', 'examples/tmp-docs', '-x', 'examples/generated-schemas', '-e', 'js' ]); ls.on('close', code => { expect(code).toEqual(0); done(); }); }); it('Run jsonschema2md on example schemas', done => { const ls = spawn('node', [ 'cli.js', '-d', 'examples/schemas', '-o', 'examples/docs', '-x', 'examples/generated-schemas', '-m', 'template=reference', '-m', 'foo=bar', '--link-abstract', 'abstract.md', '--link-status', 'status.md', '-v', '06' ]); ls.on('close', code => { expect(code).toEqual(0); const files = readdirSync('./spec/examples').filter(item => !(/(^|\/)\.[^\/\.]/g).test(item)); expect(files.length).toEqual(22); //console.log(readFileSync(path.resolve('./examples/schemas/', 'definitions.schema.json')).toString()); files.forEach(file => { if (statSync('./spec/examples/' + file).isFile()) { const expectedstr = readFileSync(path.resolve('./spec/examples/', file)).toString(); const actualstr = readFileSync(path.resolve('./examples/docs/', file)).toString(); expect(actualstr).toEqual(expectedstr, file + ' does not match'); } }); done(); }); }); });