From f13b7132292931aa14476b2e9a44d76a5d1ae3c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominykas=20Blyz=CC=8Ce=CC=87?= Date: Tue, 24 Feb 2015 18:38:41 +0200 Subject: [PATCH] when a module is exposed, it should still resolve the way it would normally do, i.e. with/without extension and directories should fall back to index, and index from a directory should be accepted with/without extension too --- test/resolve_exposed.js | 70 ++++++++++++++++++++++++++++++++- test/resolve_exposed/y/index.js | 1 + 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 test/resolve_exposed/y/index.js diff --git a/test/resolve_exposed.js b/test/resolve_exposed.js index 0d3efc24b..1dbea4211 100644 --- a/test/resolve_exposed.js +++ b/test/resolve_exposed.js @@ -4,7 +4,7 @@ var test = require('tap').test; test('resolve exposed files', function (t) { t.plan(2); - + var b = browserify(__dirname + '/resolve_exposed/main.js', { basedir: __dirname + '/resolve_exposed' }); @@ -18,3 +18,71 @@ test('resolve exposed files', function (t) { } }); }); + +test('resolve exposed files without extension', function (t) { + t.plan(2); + + var b = browserify(__dirname + '/resolve_exposed/main.js', { + basedir: __dirname + '/resolve_exposed' + }); + b.require('./x', {expose: 'xyz'}); + b.bundle(function (err, src) { + t.ifError(err); + var c = {console: {log: log}}; + vm.runInNewContext(src, c); + function log(x) { + t.equal(x, 333); + } + }); +}); + +test('resolve exposed directories', function (t) { + t.plan(2); + + var b = browserify(__dirname + '/resolve_exposed/main.js', { + basedir: __dirname + '/resolve_exposed' + }); + b.require('./y', {expose: 'xyz'}); + b.bundle(function (err, src) { + t.ifError(err); + var c = {console: {log: log}}; + vm.runInNewContext(src, c); + function log(x) { + t.equal(x, 555); + } + }); +}); + +test('resolve exposed index from directories', function (t) { + t.plan(2); + + var b = browserify(__dirname + '/resolve_exposed/main.js', { + basedir: __dirname + '/resolve_exposed' + }); + b.require('./y/index', {expose: 'xyz'}); + b.bundle(function (err, src) { + t.ifError(err); + var c = {console: {log: log}}; + vm.runInNewContext(src, c); + function log(x) { + t.equal(x, 555); + } + }); +}); + +test('resolve exposed index.js from directories', function (t) { + t.plan(2); + + var b = browserify(__dirname + '/resolve_exposed/main.js', { + basedir: __dirname + '/resolve_exposed' + }); + b.require('./y/index.js', {expose: 'xyz'}); + b.bundle(function (err, src) { + t.ifError(err); + var c = {console: {log: log}}; + vm.runInNewContext(src, c); + function log(x) { + t.equal(x, 555); + } + }); +}); diff --git a/test/resolve_exposed/y/index.js b/test/resolve_exposed/y/index.js new file mode 100644 index 000000000..caedade49 --- /dev/null +++ b/test/resolve_exposed/y/index.js @@ -0,0 +1 @@ +module.exports = 5