1 | var browserify = require('../');
|
2 | var test = require('tap').test;
|
3 | var vm = require('vm');
|
4 |
|
5 | test('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 |
|
18 | test('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 |
|
31 | test('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 | });
|