var browserify = require('../'); var vm = require('vm'); var test = require('tap').test; test('array add', function (t) { var expected = [ 'ONE', 'TWO', 'THREE' ]; t.plan(expected.length); var b = browserify(); var files = [ __dirname + '/array/one.js', __dirname + '/array/two.js', __dirname + '/array/three.js' ]; b.add(files); b.bundle(function (err, src) { vm.runInNewContext(src, { console: { log: log } }); function log (msg) { t.equal(msg, expected.shift()); } }); }); test('array require', function (t) { t.plan(3); var b = browserify(); var files = [ 'defined', 'subarg' ]; b.require(files); b.bundle(function (err, src) { var c = {}; vm.runInNewContext(src, c); t.equal(c.require('defined')(undefined, true), true); t.equal(c.require('defined')(undefined, false), false); t.deepEqual(c.require('subarg')(['-x', '3']), { x: 3, _: [] }); }); }); test('array require opts', function (t) { t.plan(3); var b = browserify(); var files = [ { file: require.resolve('defined'), expose: 'abc' }, { file: require.resolve('subarg'), expose: 'def' } ]; b.require(files); b.bundle(function (err, src) { var c = {}; vm.runInNewContext(src, c); t.equal(c.require('abc')(undefined, true), true); t.equal(c.require('abc')(undefined, false), false); t.deepEqual(c.require('def')(['-x', '3']), { x: 3, _: [] }); }); }); test('array external', function (t) { t.plan(2); var b = browserify(__dirname + '/external/main.js'); b.external(['util','freelist']); b.bundle(function (err, src) { if (err) return t.fail(err); vm.runInNewContext( 'function require (x) {' + 'if (x==="freelist") return function (n) { return n + 1000 }' + '}' + src, { t: t } ); }); });