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 } }); }); }); });