1 | var test = require('tap').test;
|
2 | var fromArgs = require('../bin/args.js');
|
3 | var path = require('path');
|
4 | var vm = require('vm');
|
5 |
|
6 | test('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 |
|
18 | test('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 |
|
28 | test('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 |
|
49 | test('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 |
|
58 | test('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 | });
|