diff options
author | Johannes <johannes.ewald@roomieplanet.de> | 2012-08-18 18:34:13 +0400 |
---|---|---|
committer | Johannes <johannes.ewald@roomieplanet.de> | 2012-08-18 18:34:13 +0400 |
commit | c5d8fab07f0edc568e45e0747f863afd5876abc2 (patch) | |
tree | ab57b94703d16087fbb6c81e4bdb5d1ae6217d19 /test/bundlers.browserify.test.js | |
parent | 657b9e84018014d15916c86274b8ee35b9386627 (diff) |
- Introduced webpack bundler for rewire (work in progress, some tests are not running)
Diffstat (limited to 'test/bundlers.browserify.test.js')
-rw-r--r-- | test/bundlers.browserify.test.js | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/test/bundlers.browserify.test.js b/test/bundlers.browserify.test.js new file mode 100644 index 0000000..43b6bb7 --- /dev/null +++ b/test/bundlers.browserify.test.js @@ -0,0 +1,60 @@ +var vm = require("vm"), + fs = require("fs"), + expect = require("expect.js"), + browserify = require("browserify"); + +/** + * Executes the source in a context that pretends to be a browser + * @param {!String} src + */ +function runInFakeBrowserContext(src, filename) { + var context = { + describe: describe, + it: it, + before: before, + after: after, + beforeEach: beforeEach, + afterEach: afterEach, + setTimeout: setTimeout, + clearTimeout: clearTimeout, + setInterval: setInterval, + clearInterval: clearInterval, + parseFloat: parseFloat, + parseInt: parseInt, + encodeURIComponent: function () {}, + decodeURIComponent: function () {}, + document: {}, + console: console + }; + context.window = context; + vm.runInNewContext(src, context, filename); +} + +describe("rewire bundled with browserify", function () { + before(require("./testHelpers/createFakePackageJSON.js")); + after(require("./testHelpers/removeFakePackageJSON.js")); + it("should run all sharedTestCases without exception", function () { + return; + var b = browserify({ + debug: true + }), + middleware = require("rewire").browserify, + browserOutput = __dirname + "/bundlers/browserify/bundle.js", + browserBundle, + vmBundle; + + b.use(middleware); + b.addEntry(__dirname + "/testModules/sharedTestCases.js"); + vmBundle = b.bundle(); + browserBundle = vmBundle; + + // Setup for mocha + browserBundle = "function enableTests() {" + browserBundle + "}"; + + // Output for browser-testing + fs.writeFileSync(browserOutput, browserBundle, "utf8"); + + // This should throw no exception. + runInFakeBrowserContext(vmBundle, browserOutput); + }); +});
\ No newline at end of file |