UNPKG

2.04 kBJavaScriptView Raw
1var assert = require("assert");
2var makeBundlesConfig = require("./make_bundles_config");
3var makeBundleNameMap = require("./make_bundle_name_map");
4
5describe("lib/bundle", function(){
6 describe("makeBundlesConfig", function(){
7 describe("bundleSteal", function(){
8 it("Adds config for a shared bundle", function(){
9 var bundles = [
10 { name: "bundles/a" },
11 { name: "bundles/b" },
12 { name: "bundles/a-b", nodes: [
13 { load: { name: "one" } },
14 { load: { name: "two" } }
15 ] }
16 ];
17 var target = bundles[0];
18 var configuration = {
19 loader: {},
20 options: {
21 bundleSteal: true
22 }
23 };
24 var options = {
25 excludedBundles: makeBundleNameMap(
26 bundles.slice(0, 2)
27 )
28 };
29
30 var node = makeBundlesConfig(bundles, configuration,
31 target, options);
32
33 var bundlesConfig = node.load.metadata.bundlesConfig;
34
35 var shared = bundlesConfig["bundles/a-b"];
36 assert(shared, "shared bundle is part of the config");
37
38 assert.equal(shared.indexOf("one"), 0, "added the first node");
39 assert.equal(shared.indexOf("two"), 1, "added the second node");
40 });
41
42 it("Works no matter how the bundles are ordered", function(){
43 var bundles = [
44 { name: "bundles/a-b", nodes: [
45 { load: { name: "one" } },
46 { load: { name: "two" } }
47 ] },
48 { name: "bundles/a" },
49 { name: "bundles/b" },
50 ];
51 var target = bundles[1];
52 var configuration = {
53 loader: {},
54 options: {
55 bundleSteal: true
56 }
57 };
58 var options = {
59 excludedBundles: makeBundleNameMap(
60 bundles.slice(1)
61 )
62 };
63
64 var node = makeBundlesConfig(bundles, configuration,
65 target, options);
66
67 var bundlesConfig = node.load.metadata.bundlesConfig;
68
69 var shared = bundlesConfig["bundles/a-b"];
70 assert(shared, "shared bundle is part of the config");
71
72 assert.equal(shared.indexOf("one"), 0, "added the first node");
73 assert.equal(shared.indexOf("two"), 1, "added the second node");
74 });
75 });
76 });
77});