|
| 1 | +var test = require('tape'); |
| 2 | +var tmp = require('osenv').tmpdir; |
| 3 | +var fs = require('fs'); |
| 4 | +var path = require('path'); |
| 5 | +var vm = require('vm'); |
| 6 | +var mkdirp = require('mkdirp'); |
| 7 | +var browserify = require('browserify'); |
| 8 | +var factor = require('../'); |
| 9 | +var concat = require('concat-stream'); |
| 10 | + |
| 11 | +var files = [ |
| 12 | + __dirname + '/deps/x.js', |
| 13 | + __dirname + '/deps/y.js' |
| 14 | +]; |
| 15 | +var tmpdir = tmp() + '/factor-bundle-' + Math.random(); |
| 16 | +mkdirp.sync(tmpdir); |
| 17 | + |
| 18 | +test('outputs api', function (t) { |
| 19 | + t.plan(2); |
| 20 | + var b = browserify(files); |
| 21 | + b.plugin(factor, { |
| 22 | + outputs: [ |
| 23 | + path.join(tmpdir, 'x.js'), |
| 24 | + path.join(tmpdir, 'y.js') |
| 25 | + ] |
| 26 | + }); |
| 27 | + var w = fs.createWriteStream(path.join(tmpdir, 'common.js')); |
| 28 | + b.bundle().pipe(w); |
| 29 | + |
| 30 | + w.on('finish', function () { |
| 31 | + var common = fs.readFileSync(tmpdir + '/common.js', 'utf8'); |
| 32 | + var x = fs.readFileSync(tmpdir + '/x.js', 'utf8'); |
| 33 | + var y = fs.readFileSync(tmpdir + '/y.js', 'utf8'); |
| 34 | + |
| 35 | + vm.runInNewContext(common + x, { console: { log: function (msg) { |
| 36 | + t.equal(msg, 55500); |
| 37 | + } } }); |
| 38 | + |
| 39 | + vm.runInNewContext(common + y, { console: { log: function (msg) { |
| 40 | + t.equal(msg, 333); |
| 41 | + } } }); |
| 42 | + }); |
| 43 | +}); |
0 commit comments