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/testModules/moduleB.js')
-rw-r--r--test/testModules/moduleB.js262
1 files changed, 137 insertions, 125 deletions
diff --git a/test/testModules/moduleB.js b/test/testModules/moduleB.js
index 9f7a1c7..fcdec06 100644
--- a/test/testModules/moduleB.js
+++ b/test/testModules/moduleB.js
@@ -1,125 +1,137 @@
-"use strict"; // run code in ES5 strict mode
-
-var someOtherModule = require("./someOtherModule.js"),
- myNumber = 0, // copy by value
- myObj = {}, // copy by reference
- env = "bla",
- fs = require("fs");
-
-// We need getters and setters for private vars to check if our injected setters and getters actual work
-function setMyNumber(newNumber) {
- myNumber = newNumber;
-}
-
-function getMyNumber() {
- return myNumber;
-}
-
-function setMyObj(newObj) {
- myObj = newObj;
-}
-
-function getMyObj() {
- return myObj;
-}
-
-function readFileSync() {
- fs.readFileSync("bla.txt", "utf8");
-}
-
-function checkSomeGlobals() {
- if (typeof global !== "object") {
- throw new ReferenceError("global is not an object");
- }
- if (typeof console !== "object") {
- throw new ReferenceError("console is not an object");
- }
- if (typeof require !== "function") {
- throw new ReferenceError("require is not a function");
- }
- if (typeof module !== "object") {
- throw new ReferenceError("module is not an object");
- }
- if (typeof exports !== "object") {
- throw new ReferenceError("exports is not an object");
- }
- if (module.exports === exports) {
- throw new Error("module.exports === exports returns true"); // because we're exporting via module.exports they should not be the same.
- }
- if (typeof __dirname !== "string") {
- throw new ReferenceError("__dirname is not a string");
- }
- if (typeof __filename !== "string") {
- throw new ReferenceError("__filename is not a string");
- }
- if (typeof setTimeout !== "function") {
- throw new ReferenceError("setTimeout is not a function");
- }
- if (typeof clearTimeout !== "function") {
- throw new ReferenceError("clearTimeout is not a function");
- }
- if (typeof setInterval !== "function") {
- throw new ReferenceError("setInterval is not a function");
- }
- if (typeof clearInterval !== "function") {
- throw new ReferenceError("clearInterval is not a function");
- }
- if (typeof Error !== "function") {
- throw new ReferenceError("Error is not a function");
- }
- if (typeof parseFloat !== "function") {
- throw new ReferenceError("parseFloat is not a function");
- }
- if (typeof parseInt !== "function") {
- throw new ReferenceError("parseInt is not a function");
- }
- if (typeof window === "undefined") {
- if (typeof process !== "object") {
- throw new ReferenceError("process is not an object");
- }
- if (typeof Buffer !== "function") {
- throw new ReferenceError("Buffer is not a function");
- }
- } else {
- if (typeof encodeURIComponent !== "function") {
- throw new ReferenceError("encodeURIComponent is not a function");
- }
- if (typeof decodeURIComponent !== "function") {
- throw new ReferenceError("decodeURIComponent is not a function");
- }
- if (typeof document !== "object") {
- throw new ReferenceError("document is not an object");
- }
- }
-}
-
-function getConsole() {
- return console;
-}
-
-function getFilename() {
- return __filename;
-}
-
-function getBuffer() {
- return Buffer;
-}
-
-function getDocument() {
- return document;
-}
-
-// different styles of exports in moduleA.js and moduleB.js
-module.exports = {
- setMyNumber: setMyNumber,
- getMyNumber: getMyNumber,
- setMyObj: setMyObj,
- getMyObj: getMyObj,
- readFileSync: readFileSync,
- checkSomeGlobals: checkSomeGlobals,
- getConsole: getConsole,
- getFilename: getFilename,
- getBuffer: getBuffer,
- getDocument: getDocument,
- someOtherModule: someOtherModule
-};
+"use strict"; // run code in ES5 strict mode
+
+var someOtherModule = require("./someOtherModule.js"),
+ myNumber = 0, // copy by value
+ myObj = {}, // copy by reference
+ env = "bla",
+ fs = require("fs");
+
+// We need getters and setters for private vars to check if our injected setters and getters actual work
+function setMyNumber(newNumber) {
+ myNumber = newNumber;
+}
+
+function getMyNumber() {
+ return myNumber;
+}
+
+function setMyObj(newObj) {
+ myObj = newObj;
+}
+
+function getMyObj() {
+ return myObj;
+}
+
+function readFileSync() {
+ fs.readFileSync("bla.txt", "utf8");
+}
+
+function checkSomeGlobals() {
+ var isLowerIE,
+ typeOfGlobalFunc;
+
+ if (typeof navigator !== "undefined") {
+ isLowerIE = /MSIE [6-8]\.[0-9]/g.test(navigator.userAgent);
+ }
+ if (isLowerIE) {
+ typeOfGlobalFunc = "object";
+ } else {
+ typeOfGlobalFunc = "function";
+ }
+
+ if (typeof global !== "object") {
+ throw new ReferenceError("global is not an object");
+ }
+ if (typeof console !== "object") {
+ throw new ReferenceError("console is not an object");
+ }
+ if (typeof require !== "function") {
+ throw new ReferenceError("require is not a function");
+ }
+ if (typeof module !== "object") {
+ throw new ReferenceError("module is not an object");
+ }
+ if (typeof exports !== "object") {
+ throw new ReferenceError("exports is not an object");
+ }
+ if (module.exports === exports) {
+ throw new Error("module.exports === exports returns true");
+ }
+ if (typeof __dirname !== "string") {
+ throw new ReferenceError("__dirname is not a string");
+ }
+ if (typeof __filename !== "string") {
+ throw new ReferenceError("__filename is not a string");
+ }
+ if (typeof setTimeout !== typeOfGlobalFunc) {
+ throw new ReferenceError("setTimeout is not a function");
+ }
+ if (typeof clearTimeout !== typeOfGlobalFunc) {
+ throw new ReferenceError("clearTimeout is not a function");
+ }
+ if (typeof setInterval !== typeOfGlobalFunc) {
+ throw new ReferenceError("setInterval is not a function");
+ }
+ if (typeof clearInterval !== typeOfGlobalFunc) {
+ throw new ReferenceError("clearInterval is not a function");
+ }
+ if (typeof Error !== "function") {
+ throw new ReferenceError("Error is not a function");
+ }
+ if (typeof parseFloat !== "function") {
+ throw new ReferenceError("parseFloat is not a function");
+ }
+ if (typeof parseInt !== "function") {
+ throw new ReferenceError("parseInt is not a function");
+ }
+ if (typeof window === "undefined") {
+ if (typeof process !== "object") {
+ throw new ReferenceError("process is not an object");
+ }
+ if (typeof Buffer !== "function") {
+ throw new ReferenceError("Buffer is not a function");
+ }
+ } else {
+ if (typeof encodeURIComponent !== "function") {
+ throw new ReferenceError("encodeURIComponent is not a function");
+ }
+ if (typeof decodeURIComponent !== "function") {
+ throw new ReferenceError("decodeURIComponent is not a function");
+ }
+ if (typeof document !== "object") {
+ throw new ReferenceError("document is not an object");
+ }
+ }
+}
+
+function getConsole() {
+ return console;
+}
+
+function getFilename() {
+ return __filename;
+}
+
+function getBuffer() {
+ return Buffer;
+}
+
+function getDocument() {
+ return document;
+}
+
+// different styles of exports in moduleA.js and moduleB.js
+module.exports = {
+ setMyNumber: setMyNumber,
+ getMyNumber: getMyNumber,
+ setMyObj: setMyObj,
+ getMyObj: getMyObj,
+ readFileSync: readFileSync,
+ checkSomeGlobals: checkSomeGlobals,
+ getConsole: getConsole,
+ getFilename: getFilename,
+ getBuffer: getBuffer,
+ getDocument: getDocument,
+ someOtherModule: someOtherModule
+};