UNPKG

2.03 kBJavaScriptView Raw
1var test = require('tap').test;
2var fromArgs = require('../bin/args.js');
3var path = require('path');
4var vm = require('vm');
5
6test('bundle from an arguments array', function (t) {
7 t.plan(2);
8
9 var b = fromArgs([ __dirname + '/entry/two.js', '-s', 'XYZ' ]);
10 b.bundle(function (err, src) {
11 t.ifError(err);
12 var c = { window: {} };
13 vm.runInNewContext(src, c);
14 t.equal(c.window.XYZ, 2);
15 });
16});
17
18test('external flag for node modules', function(t) {
19 t.plan(2);
20
21 var b = fromArgs([ __dirname + '/external_args/main.js', '-x', 'backbone' ]);
22 b.bundle(function (err, src) {
23 t.ifError(err);
24 vm.runInNewContext(src, {t: t});
25 });
26});
27
28test('bundle from an arguments with --insert-global-vars', function (t) {
29 t.plan(4);
30
31 var b = fromArgs([
32 __dirname + '/global/filename.js',
33 '--insert-global-vars=__filename,__dirname',
34 '--basedir', __dirname
35 ]);
36 b.require(__dirname + '/global/filename.js', { expose: 'x' });
37 b.bundle(function (err, src) {
38 t.ifError(err, 'b.bundle()');
39 var c = {}, x;
40 vm.runInNewContext(src, c);
41 t.doesNotThrow(function() {
42 x = c.require('x');
43 }, 'x = c.require(\'x\')');
44 t.equal(x && x.filename, '/global/filename.js', 'x.filename');
45 t.equal(x && x.dirname, '/global', 'x.dirname');
46 })
47});
48
49test('numeric module names', function(t) {
50 t.plan(1);
51
52 var b = fromArgs([ '-x', '1337' ]);
53 b.bundle(function (err, src) {
54 t.ifError(err);
55 });
56});
57
58test('entry expose', function (t) {
59 t.plan(3)
60
61 var b = fromArgs([
62 path.join(__dirname, '/entry_expose/main.js'),
63 '--require', path.join(__dirname, '/entry_expose/main.js') + ':x',
64 ]);
65 b.bundle(function (err, src) {
66 t.ifError(err);
67 var c = { console: { log: log } };
68 function log (msg) { t.equal(msg, 'wow') }
69 vm.runInNewContext(src, c);
70 t.equal(c.require('x'), 555);
71 })
72});