1 | const test = require('tape');
|
2 | const makeNavList = require('../bin/lib/make-nav-list');
|
3 |
|
4 | test('Make Nav List', function(assert){
|
5 | {
|
6 | let message = 'outputs an array';
|
7 | let actual = Array.isArray(makeNavList());
|
8 | let expected = true;
|
9 |
|
10 | assert.equal(actual, expected, message);
|
11 | }
|
12 |
|
13 | {
|
14 | let message = 'first argument is "/"';
|
15 | let actual = makeNavList()[0];
|
16 | let expected = '/';
|
17 |
|
18 | assert.equal(actual, expected, message);
|
19 | }
|
20 |
|
21 | {
|
22 | let message = 'appends array from keys of given object';
|
23 | let actual = makeNavList(setup(3)).length;
|
24 | let expected = 3 + 1;
|
25 |
|
26 | assert.equal(actual, expected, message);
|
27 | }
|
28 |
|
29 | {
|
30 | let message = 'transforms object keys from ".md" to ".html"';
|
31 | let actual = makeNavList(setup(5));
|
32 | let expected = ['/', '/1.html', '/2.html', '/3.html', '/4.html', '/5.html'];
|
33 |
|
34 | assert.deepEqual(actual, expected, message);
|
35 | }
|
36 |
|
37 | {
|
38 | let scaffolding = setup(3);
|
39 | scaffolding['.hidden'] = 'secretzzz';
|
40 |
|
41 | let message = 'ignores hidden files';
|
42 | let actual = makeNavList(scaffolding);
|
43 | let expected = ['/', '/1.html', '/2.html', '/3.html'];
|
44 |
|
45 | assert.deepEqual(actual, expected, message);
|
46 | }
|
47 |
|
48 | assert.end();
|
49 | });
|
50 |
|
51 |
|
52 | function setup(ln){
|
53 | var o = {};
|
54 |
|
55 | for(let i = 1; i <= ln; i++){
|
56 | o[`${i}.md`] = `# Hello, ${i}!`;
|
57 | }
|
58 |
|
59 | return o;
|
60 | }
|
61 |
|
62 |
|