Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/rewire.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'test/bundlers.browserify.test.js')
-rw-r--r--test/bundlers.browserify.test.js60
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