12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- var test = require('tape');
- var vm = require('vm');
- var concat = require('concat-stream');
- var path = require('path');
- var insert = require('../');
- var bpack = require('browser-pack');
- var mdeps = require('module-deps');
- test('insert globals', function (t) {
- var expected = [ 'global' ];
- t.plan(2 + expected.length);
-
- var deps = mdeps()
- var pack = bpack({ raw: true });
-
- deps.pipe(pack);
-
- pack.pipe(concat(function (src) {
- var c = {
- t : t,
- a : 555,
- };
- c.self = c;
- vm.runInNewContext(src, c);
- }));
-
- deps.write({
- transform: function (file) {
- var tr = inserter(file)
- tr.on('global', function (name) {
- t.equal(name, expected.shift());
- });
- return tr;
- },
- global: true
- });
- deps.end(__dirname + '/global/main.js');
- });
- test('__filename and __dirname', function (t) {
- t.plan(2);
-
- var file = path.join(__dirname, 'global', 'filename.js');
- var deps = mdeps()
- var pack = bpack({ raw: true });
-
- deps.pipe(pack);
-
- pack.pipe(concat(function (src) {
- var c = {};
- vm.runInNewContext('require=' + src, c);
- var x = c.require(file);
- t.equal(x.filename, '/filename.js');
- t.equal(x.dirname, '/');
- }));
-
- deps.write({ transform: inserter, global: true });
- deps.end(file);
- });
- function inserter (file) {
- return insert(file, { basedir: __dirname + '/global' });
- }
|