Skip to content

Commit

Permalink
Adding test for external basedir case
Browse files Browse the repository at this point in the history
  • Loading branch information
tufandevrim committed May 10, 2016
1 parent 1671dab commit 2f95b6b
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 0 deletions.
39 changes: 39 additions & 0 deletions test/external_basedir.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
var browserify = require('../');
var vm = require('vm');
var test = require('tap').test;

test('external', function (t) {
t.plan(2);
var baseDir = __dirname;
var splitFile = baseDir + '/external_basedir/y.js';
var mainSrc = '';
var splitSrc = '';
var pending = 2;

// main bundle should not include splitFile
var b = browserify(baseDir + '/external_basedir/main.js', {basedir: baseDir});
b.external(splitFile); // no need to specify basedir option if it is already set for b
b.bundle(function (err, src) {
if (err) return t.fail(err);
mainSrc = src;
pending--;
done();
});

// consider b2 as for split or vendor bundle
var b2 = browserify([], {basedir: baseDir});
b2.require(splitFile, {expose: splitFile.replace(baseDir, '')});
b2.bundle(function (err, src) {
if (err) return t.fail(err);
splitSrc = src;
pending--;
done();
});

function done() {
if (pending !== 0) {
return;
}
vm.runInNewContext(splitSrc + mainSrc, { t: t });
}
});
2 changes: 2 additions & 0 deletions test/external_basedir/main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
t.equal(require('./x'), 'foo');
t.equal(require('./y'), 'bar');
1 change: 1 addition & 0 deletions test/external_basedir/x.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = 'foo';
1 change: 1 addition & 0 deletions test/external_basedir/y.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = 'bar';

0 comments on commit 2f95b6b

Please sign in to comment.