UNPKG

2.05 kBJavaScriptView Raw
1'use strict';
2
3var assert = require('assert');
4var parse = require('./parse');
5
6describe('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
24describe('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
38describe('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