diff --git a/test/bundle-deps.js b/test/bundle-deps.js new file mode 100644 index 0000000..a0563c4 --- /dev/null +++ b/test/bundle-deps.js @@ -0,0 +1,29 @@ +'use strict'; +/*jshint asi: true */ + +var browserify = require('browserify') + , test = require('tap').test + , vm = require('vm') + +function bundleNcheck(relPath, t) { + browserify( { ignoreGlobals: true }) + .require(require.resolve(relPath)) + .bundle(function (err, src) { + if (err) { t.fail(err); return t.end(); } + + var ctx = { window: {}, console: console }; + ctx.self = ctx.window; + var require_ = vm.runInNewContext(src, ctx); + + var main = require_(require.resolve(relPath)); + + t.deepEqual(main(), { noncjs: { name: 'non-cjs', version: 1.1 } }, 'shims non-cjs, requireing non-cjs-dep '); + t.end() + }); +} + +test('\nshimming deps with external shim, with depends all exposed' + , bundleNcheck.bind(null, './deps/extshim/main')) + +test('\nshimming nodeps with inlined shim, with depends all exposed' + , bundleNcheck.bind(null, './deps/inlineshim/main')) diff --git a/test/deps/node_modules/browserify-shim b/test/deps/node_modules/browserify-shim new file mode 120000 index 0000000..1b20c9f --- /dev/null +++ b/test/deps/node_modules/browserify-shim @@ -0,0 +1 @@ +../../../ \ No newline at end of file diff --git a/test/resolve-shims.js b/test/resolve-shims.js index 9b0db0a..ca50465 100644 --- a/test/resolve-shims.js +++ b/test/resolve-shims.js @@ -43,7 +43,6 @@ test('\nno dependencies, inline shims, exposed as non-cjs', function (t) { test('\nnon-cjs-dep depends on non-cjs, external shim file, all exposed', function (t) { resolve(require.resolve('./deps/extshim/vendor/non-cjs-dep'), function (err, res) { if (err) { t.fail(err); return t.end(); } - inspect(res); t.deepEqual(res , { exports: 'noncjsdep', depends: { 'non-cjs': 'noncjs' } } , 'resolves noncjsdep shim correctly' @@ -55,11 +54,10 @@ test('\nnon-cjs-dep depends on non-cjs, external shim file, all exposed', functi test('\nnon-cjs-dep depends on non-cjs, inline shims, all exposed', function (t) { resolve(require.resolve('./deps/inlineshim/vendor/non-cjs-dep'), function (err, res) { if (err) { t.fail(err); return t.end(); } - inspect(res); - /*t.deepEqual(res + t.deepEqual(res , { exports: 'noncjsdep', depends: { 'non-cjs': 'noncjs' } } , 'resolves noncjsdep shim correctly' - )*/ + ) t.end(); }); })