1 | var browserify = require('../');
|
2 | var vm = require('vm');
|
3 | var through = require('through2');
|
4 | var test = require('tap').test;
|
5 |
|
6 | var fs = require('fs');
|
7 | var sources = {
|
8 | 1: fs.readFileSync(__dirname + '/entry/main.js', 'utf8'),
|
9 | 2: fs.readFileSync(__dirname + '/entry/one.js', 'utf8'),
|
10 | 3: fs.readFileSync(__dirname + '/entry/two.js', 'utf8')
|
11 | };
|
12 |
|
13 | var deps = {
|
14 | 1: { './two': 3, './one': 2 },
|
15 | 2: {},
|
16 | 3: {}
|
17 | };
|
18 |
|
19 | test('custom packer', function (t) {
|
20 | t.plan(7);
|
21 |
|
22 | var b = browserify(__dirname + '/entry/main.js');
|
23 | b.pipeline.get('pack').splice(0,1, through.obj(function (row, enc, next) {
|
24 | t.equal(sources[row.id], row.source);
|
25 | t.deepEqual(deps[row.id], row.deps);
|
26 | this.push(row.id + '\n');
|
27 | next();
|
28 | }));
|
29 | b.pipeline.get('wrap').splice(0);
|
30 | b.bundle(function (err, src) {
|
31 | t.equal(src.toString('utf8'), '1\n2\n3\n');
|
32 | });
|
33 | });
|