generate commented out test files
This commit is contained in:
@ -11,14 +11,31 @@ fs.removeSync(TEST_PATH);
|
|||||||
snippetFiles
|
snippetFiles
|
||||||
.map(fileName => { fs.ensureDirSync(`${TEST_PATH}/${fileName}`); return fileName})
|
.map(fileName => { fs.ensureDirSync(`${TEST_PATH}/${fileName}`); return fileName})
|
||||||
.map(fileName => {
|
.map(fileName => {
|
||||||
|
|
||||||
const fileData = fs.readFileSync(`${SNIPPETS_PATH}/${fileName}.md`, 'utf8');
|
const fileData = fs.readFileSync(`${SNIPPETS_PATH}/${fileName}.md`, 'utf8');
|
||||||
const fileCode = fileData.slice( fileData.indexOf('```js'), fileData.lastIndexOf('```') + 3 );
|
const fileCode = fileData.slice( fileData.indexOf('```js'), fileData.lastIndexOf('```') + 3 );
|
||||||
const blockMarkers = fileCode.split('\n').map((line, lineIndex) => line.slice(0, 3) === '```' ? lineIndex : '//CLEAR//').filter(x => !(x === '//CLEAR//'))
|
const blockMarkers = fileCode.split('\n').map((line, lineIndex) => line.slice(0, 3) === '```' ? lineIndex : '//CLEAR//').filter(x => !(x === '//CLEAR//'))
|
||||||
const fileFunction = fileCode.split('\n').map(line => line.trim()).filter((_, i) => blockMarkers[0] < i && i < blockMarkers[1]);
|
const fileFunction = fileCode.split('\n').map(line => line.trim()).filter((_, i) => blockMarkers[0] < i && i < blockMarkers[1]);
|
||||||
const fileExample = fileCode.split('\n').map(line => line.trim()).filter((_, i) => blockMarkers[2] < i && i < blockMarkers[3]);
|
const fileExample = fileCode.split('\n').map(line => line.trim()).filter((_, i) => blockMarkers[2] < i && i < blockMarkers[3]);
|
||||||
|
|
||||||
const exportFile = `module.exports = ${fileFunction.join('\n').slice(17)}`;
|
const exportFile = `module.exports = ${fileFunction.join('\n').slice(17)}`;
|
||||||
|
const exportTest = [
|
||||||
|
`const test = require('tape');`,
|
||||||
|
`const ${fileName} = require('./${fileName}.js');`,
|
||||||
|
`test('Testing ${fileName}', (t) => {`,
|
||||||
|
`//For more information on all the methods supported by tape\n//Please go to https://github.com/substack/tape`,
|
||||||
|
`//t.deepEqual(${fileName}(args..), 'Expected');`,
|
||||||
|
`//t.equal(${fileName}(args..), 'Expected');`,
|
||||||
|
`//t.false(${fileName}(args..), 'Expected');`,
|
||||||
|
`//t.true(${fileName}(args..), 'Expected');`,
|
||||||
|
`//t.throws(${fileName}(args..), 'Expected');`,
|
||||||
|
`t.end();`,
|
||||||
|
`});`
|
||||||
|
].join('\n')
|
||||||
|
|
||||||
|
|
||||||
fs.writeFileSync(`${TEST_PATH}/${fileName}/${fileName}.js`, exportFile);
|
fs.writeFileSync(`${TEST_PATH}/${fileName}/${fileName}.js`, exportFile);
|
||||||
|
fs.writeFileSync(`${TEST_PATH}/${fileName}/${fileName}.test.js`, exportTest);
|
||||||
|
|
||||||
return fileName;
|
return fileName;
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user