You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.7 KiB
102 lines
2.7 KiB
var browserify = require('../');
|
|
var vm = require('vm');
|
|
var path = require('path');
|
|
var test = require('tap').test;
|
|
|
|
test('global noparse module', function (t) {
|
|
t.plan(2);
|
|
|
|
var b = browserify({
|
|
noParse: 'aaa'
|
|
});
|
|
b.require(__dirname + '/global/node_modules/aaa', { expose: 'x' });
|
|
b.bundle(function (err, src) {
|
|
var c = {
|
|
__filename: __filename,
|
|
__dirname: __dirname
|
|
};
|
|
vm.runInNewContext(src, c);
|
|
var x = c.require('x');
|
|
t.equal(x.filename, __filename);
|
|
t.equal(x.dirname, __dirname);
|
|
});
|
|
});
|
|
|
|
test('global noparse module file', function (t) {
|
|
t.plan(2);
|
|
|
|
var b = browserify({
|
|
noParse: 'aaa/index.js'
|
|
});
|
|
b.require(__dirname + '/global/node_modules/aaa', { expose: 'x' });
|
|
b.bundle(function (err, src) {
|
|
var c = {
|
|
__filename: __filename,
|
|
__dirname: __dirname
|
|
};
|
|
vm.runInNewContext(src, c);
|
|
var x = c.require('x');
|
|
t.equal(x.filename, __filename);
|
|
t.equal(x.dirname, __dirname);
|
|
});
|
|
});
|
|
|
|
test('global noparse module deep file', function (t) {
|
|
t.plan(2);
|
|
|
|
var b = browserify({
|
|
noParse: 'robot/lib/beep.js'
|
|
});
|
|
b.require(__dirname + '/global/node_modules/robot', { expose: 'x' });
|
|
b.bundle(function (err, src) {
|
|
var c = {
|
|
__filename: __filename,
|
|
__dirname: __dirname
|
|
};
|
|
vm.runInNewContext(src, c);
|
|
var x = c.require('x');
|
|
t.equal(x.filename, __filename);
|
|
t.equal(x.dirname, __dirname);
|
|
});
|
|
});
|
|
|
|
test('global noparse basedir', function (t) {
|
|
t.plan(2);
|
|
|
|
var b = browserify({
|
|
basedir: __dirname + '/global',
|
|
noParse: 'filename.js'
|
|
});
|
|
b.require(__dirname + '/global/filename.js', { expose: 'x' });
|
|
b.bundle(function (err, src) {
|
|
var c = {
|
|
__filename: __filename,
|
|
__dirname: __dirname
|
|
};
|
|
vm.runInNewContext(src, c);
|
|
var x = c.require('x');
|
|
t.equal(x.filename, __filename);
|
|
t.equal(x.dirname, __dirname);
|
|
});
|
|
});
|
|
|
|
test('global noparse function', function (t) {
|
|
t.plan(2);
|
|
|
|
var b = browserify({
|
|
noParse: function(file) {
|
|
return file === path.join(__dirname, 'global/filename.js');
|
|
}
|
|
});
|
|
b.require(__dirname + '/global/filename.js', { expose: 'x' });
|
|
b.bundle(function (err, src) {
|
|
var c = {
|
|
__filename: __filename,
|
|
__dirname: __dirname
|
|
};
|
|
vm.runInNewContext(src, c);
|
|
var x = c.require('x');
|
|
t.equal(x.filename, __filename);
|
|
t.equal(x.dirname, __dirname);
|
|
});
|
|
});
|