38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
|
var browserify = require('../');
|
||
|
var vm = require('vm');
|
||
|
var test = require('tap').test;
|
||
|
var through = require('through2');
|
||
|
var xtend = require('xtend');
|
||
|
|
||
|
test('double bundle json', function (t) {
|
||
|
t.plan(6);
|
||
|
var expected0 = [ 'a=500', 'b=500' ];
|
||
|
var expected1 = [ 'a=500', 'b=500' ];
|
||
|
|
||
|
function log0 (msg) { t.equal(msg, expected0.shift()) }
|
||
|
function log1 (msg) { t.equal(msg, expected1.shift()) }
|
||
|
|
||
|
var cache = {};
|
||
|
var b = browserify(__dirname + '/double_bundle_json/index.js', {
|
||
|
cache: cache
|
||
|
});
|
||
|
b.pipeline.get('deps').push(through.obj(function(row, enc, next) {
|
||
|
cache[row.file] = {
|
||
|
source: row.source,
|
||
|
deps: xtend(row.deps)
|
||
|
};
|
||
|
this.push(row);
|
||
|
next();
|
||
|
}));
|
||
|
b.bundle(function (err, src0) {
|
||
|
t.ifError(err);
|
||
|
vm.runInNewContext(src0, { console: { log: log0 } });
|
||
|
delete cache[__dirname + '/double_bundle_json/index.js'];
|
||
|
|
||
|
b.bundle(function (err, src1) {
|
||
|
t.ifError(err);
|
||
|
vm.runInNewContext(src1, { console: { log: log1 } });
|
||
|
});
|
||
|
});
|
||
|
});
|