1 | const test = require('tape');
|
2 | const fs = require('fs');
|
3 | const shell = require('shelljs');
|
4 |
|
5 | const grayson = `${__dirname}/../cli`;
|
6 | const { setup,teardown } = require('./_fixtures');
|
7 |
|
8 | test('Grayson CLI', function(assert){
|
9 | {
|
10 | fs.writeFileSync('hello.md', '# Hello Filesystem');
|
11 | shell.exec(`node ${grayson}`);
|
12 | let message = 'defaults input/output to pwd';
|
13 | let actual = fs.existsSync('./hello.html');
|
14 | let expected = true;
|
15 | assert.equal(actual, expected, message);
|
16 | teardown();
|
17 | }
|
18 |
|
19 | {
|
20 | setup();
|
21 | shell.exec(`node ${grayson} `);
|
22 | let message = 'accepts config from package.json';
|
23 | let actual = fs.existsSync(`${__dirname}/hello-world.html`);
|
24 | let expected = true;
|
25 | assert.equal(actual, expected, message);
|
26 | teardown();
|
27 | }
|
28 |
|
29 | {
|
30 | setup();
|
31 | shell.exec(`node ${grayson} --output ${__dirname}/html`);
|
32 | let message = 'accepts command line arguments';
|
33 | let actual = fs.readdirSync(`${__dirname}/html`).filter(file => file !== '.gitkeep').length;
|
34 | let expected = fs.readdirSync(`${__dirname}/md`).length - 1;
|
35 | assert.equal(actual, expected, message);
|
36 | teardown();
|
37 | }
|
38 |
|
39 | assert.end();
|
40 | });
|
41 |
|