UNPKG

2.85 kBJavaScriptView Raw
1var browserify = require('../');
2var vm = require('vm');
3var path = require('path');
4var test = require('tap').test;
5var fs = require('fs');
6
7var testFiles = [
8 path.join(__dirname, 'multi_entry/a.js'),
9 path.join(__dirname, 'multi_entry/b.js'),
10 path.join(__dirname, 'multi_entry/c.js')
11];
12
13test('multi entry', function (t) {
14 t.plan(6);
15
16 var b = browserify([
17 testFiles[0],
18 testFiles[1]
19 ]);
20 b.add(testFiles[2]);
21
22 b.on('dep', function(row) {
23 if (row.entry) {
24 t.ok(testFiles.indexOf(row.file) > -1, 'should contain full entry path');
25 }
26 });
27
28 b.bundle(function (err, src) {
29 var c = {
30 times : 0,
31 t : t
32 };
33 vm.runInNewContext(src, c);
34 });
35});
36
37test('multi entry relative', function (t) {
38 t.plan(6);
39
40 var rTestFiles = testFiles.map(function(x) {
41 return x.replace(__dirname + '/', '');
42 });
43
44 var b = browserify({
45 entries: [rTestFiles[0], rTestFiles[1]],
46 basedir: __dirname
47 });
48 b.add(rTestFiles[2]);
49
50 b.on('dep', function(row) {
51 if (row.entry) {
52 t.ok(testFiles.indexOf(row.file) > -1, 'should contain full entry path');
53 }
54 });
55
56 b.bundle(function (err, src) {
57 var c = {
58 times : 0,
59 t : t
60 };
61 vm.runInNewContext(src, c);
62 });
63});
64
65test('multi entry relative cwd', function (t) {
66 t.plan(6);
67
68 var rTestFiles = testFiles.map(function(x) {
69 return x.replace(__dirname + '/', './');
70 });
71
72 var b = browserify({
73 entries: [rTestFiles[0], rTestFiles[1]],
74 basedir: __dirname
75 });
76 b.add(rTestFiles[2]);
77
78 b.on('dep', function(row) {
79 if (row.entry) {
80 t.ok(testFiles.indexOf(row.file) > -1, 'should contain full entry path');
81 }
82 });
83
84 b.bundle(function (err, src) {
85 var c = {
86 times : 0,
87 t : t
88 };
89 vm.runInNewContext(src, c);
90 });
91});
92
93test('entries as streams', function (t) {
94 t.plan(6);
95
96 // commondir blows up with streams and without basedir
97 var opts = { basedir: __dirname + '/multi_entry' };
98
99 var b = browserify([
100 fs.createReadStream(testFiles[0]),
101 fs.createReadStream(testFiles[1])
102 ], opts);
103 b.add(fs.createReadStream(testFiles[2]));
104
105 b.on('dep', function(row) {
106 if (row.entry) {
107 t.similar(
108 row.file,
109 RegExp(path.join(__dirname, 'multi_entry/_stream_').replace(/\\/g, '\\\\') + '[\\d].js'),
110 'should be full entry path'
111 );
112 }
113 });
114
115 b.bundle(function (err, src) {
116 var c = {
117 times : 0,
118 t : t
119 };
120 vm.runInNewContext(src, c);
121 });
122});