UNPKG

1.12 kBJavaScriptView Raw
1var test = require('tape');
2var concat = require('concat-stream');
3var quote = require('quote-stream');
4var staticModule = require('../');
5var fs = require('fs');
6var path = require('path');
7
8test('variable modules', function (t) {
9 t.plan(2);
10
11 var expected = [ 'beep boop!' ];
12 var sm = staticModule({
13 fs: {
14 readFileSync: function (file, enc) {
15 return fs.createReadStream(file).pipe(quote());
16 }
17 }
18 }, {
19 vars: { __dirname: path.join(__dirname, 'vars') },
20 varModules: { path: require('path') }
21 });
22
23 readStream('source.js').pipe(sm).pipe(concat(function (body) {
24 t.equal(
25 body.toString('utf8'),
26 '\nvar path = require(\'path\');'
27 + '\nvar html = "beep boop";\nvar x = \'!\';'
28 + '\nconsole.log(html + x);\n'
29 );
30 Function(['console','require'],body)({ log: log },require);
31 function log (msg) { t.equal(msg, expected.shift()) }
32 }));
33});
34
35function readStream (file) {
36 return fs.createReadStream(path.join(__dirname, 'varmod', file));
37}