1 | 'use strict';
|
2 |
|
3 | var assert = require('assert');
|
4 | var parse = require('./parse');
|
5 |
|
6 | describe('Parse entry paths', function () {
|
7 | it('returns an empty array by default', function () {
|
8 | assert.deepEqual(parse.entryPaths(), []);
|
9 | });
|
10 |
|
11 | it('returns an object as itself', function () {
|
12 | var o = { a: ['a', 'b', 'c'] };
|
13 |
|
14 | assert.deepEqual(parse.entryPaths(o), o);
|
15 | });
|
16 |
|
17 | it('puts a string inside an array', function () {
|
18 | var str = 'foobar';
|
19 |
|
20 | assert.deepEqual(parse.entryPaths(str), [str]);
|
21 | });
|
22 | });
|
23 |
|
24 | describe('Flatten entry paths', function () {
|
25 | it('returns an array as itself', function () {
|
26 | var a = ['a', 'b', 'c'];
|
27 |
|
28 | assert.deepEqual(parse.flatten(a), a);
|
29 | });
|
30 |
|
31 | it('returns an object of arrays as one flat array', function () {
|
32 | var o = { a: ['a', 'b'], b: ['c', 'd'] };
|
33 |
|
34 | assert.deepEqual(parse.flatten(o), ['a', 'b', 'c', 'd']);
|
35 | });
|
36 | });
|
37 |
|
38 | describe('Parse entries', function () {
|
39 | it('returns paths if there is no chunk name', function () {
|
40 | var paths = ['a', 'b', 'c'];
|
41 |
|
42 | assert.deepEqual(parse.entries(paths), paths);
|
43 | });
|
44 |
|
45 | it('returns paths if paths are an array already', function () {
|
46 | var paths = ['a', 'b', 'c'];
|
47 |
|
48 | assert.deepEqual(parse.entries(paths, 'foobar'), paths);
|
49 | });
|
50 |
|
51 | it('returns chunk paths', function () {
|
52 | var entryPaths = ['a', 'b', 'c'];
|
53 | var paths = {
|
54 | foobar: entryPaths
|
55 | };
|
56 |
|
57 | assert.deepEqual(parse.entries(paths, 'foobar'), entryPaths);
|
58 | });
|
59 |
|
60 | it('returns chunk path wrapped in an array', function () {
|
61 | var entryPaths = 'a';
|
62 | var paths = {
|
63 | foobar: entryPaths
|
64 | };
|
65 |
|
66 | assert.deepEqual(parse.entries(paths, 'foobar'), [entryPaths]);
|
67 | });
|
68 |
|
69 | it('returns an empty array if failed to find entry', function () {
|
70 | var paths = {
|
71 | foobar: 'a'
|
72 | };
|
73 |
|
74 | assert.deepEqual(parse.entries(paths, 'barbar'), []);
|
75 | });
|
76 |
|
77 | it('returns an empty array if failed to find entry with multiple paths', function () {
|
78 | var paths = {
|
79 | foobar: 'a',
|
80 | barbar: 'b'
|
81 | };
|
82 |
|
83 | assert.deepEqual(parse.entries(paths, 'foofoo'), []);
|
84 | });
|
85 | }); |
\ | No newline at end of file |