UNPKG

1.47 kBJavaScriptView Raw
1var browserify = require('../');
2var test = require('tap').test;
3var vm = require('vm');
4
5test('require expose external module', function (t) {
6 t.plan(2);
7
8 var b = browserify({ basedir: __dirname });
9 b.require('beep', { expose: 'bip' });
10 b.bundle(function (err, src) {
11 t.ifError(err);
12 var c = { };
13 vm.runInNewContext(src, c);
14 t.equal(c.require('bip'), 'boop');
15 })
16});
17
18test('renaming builtin', function (t) {
19 t.plan(2);
20
21 var b = browserify({ basedir: __dirname });
22 b.require('os', { expose: 'bone' });
23 b.bundle(function (err, src) {
24 t.ifError(err);
25 var c = { };
26 vm.runInNewContext(src, c);
27 t.equal(c.require('bone').platform(), 'browser');
28 })
29});
30
31test('exposed modules do not leak across bundles', function (t) {
32 var bundle1, bundle2;
33
34 bundle1 = browserify();
35 bundle1.add(__dirname + '/require_expose/main.js');
36 bundle1.require(__dirname + '/require_expose/some_dep.js', { expose: 'foo' });
37
38 bundle1.bundle(function (err, src) {
39 if (err) t.fail(err);
40
41 var c = {};
42 vm.runInNewContext(src, c);
43 t.equal(c.foo, 'some_dep');
44
45 bundle2 = browserify();
46 bundle2.add(__dirname + '/require_expose/main.js');
47
48 bundle2.bundle(function (err) {
49 t.ok(err && err.message.match(/Cannot find module 'foo'/), 'should fail with missing module');
50 t.end();
51 });
52 });
53});