Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80529 views
1
var test = require('tap').test;
2
var vm = require('vm');
3
var concat = require('concat-stream');
4
5
var insert = require('../');
6
var bpack = require('browser-pack');
7
var mdeps = require('module-deps');
8
9
test('insert globals', function (t) {
10
var expected = [ 'global' ];
11
t.plan(2 + expected.length);
12
13
var deps = mdeps({ transform: function (file) {
14
var tr = inserter(file)
15
tr.on('global', function (name) {
16
t.equal(name, expected.shift());
17
});
18
return tr;
19
} });
20
var pack = bpack({ raw: true });
21
22
deps.pipe(pack);
23
24
pack.pipe(concat(function (src) {
25
var c = {
26
t : t,
27
a : 555,
28
};
29
c.self = c;
30
vm.runInNewContext(src, c);
31
}));
32
33
deps.end(__dirname + '/global/main.js');
34
});
35
36
test('__filename and __dirname', function (t) {
37
t.plan(2);
38
39
var file = __dirname + '/global/filename.js';
40
var deps = mdeps({ transform: inserter });
41
var pack = bpack({ raw: true });
42
43
deps.pipe(pack);
44
45
pack.pipe(concat(function (src) {
46
var c = {};
47
vm.runInNewContext('require=' + src, c);
48
var x = c.require(file);
49
t.equal(x.filename, '/filename.js');
50
t.equal(x.dirname, '/');
51
}));
52
53
deps.end(file);
54
});
55
56
function inserter (file) {
57
return insert(file, { basedir: __dirname + '/global' });
58
}
59
60