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/moduleA.js')
-rw-r--r--test/testModules/moduleA.js75
1 files changed, 75 insertions, 0 deletions
diff --git a/test/testModules/moduleA.js b/test/testModules/moduleA.js
new file mode 100644
index 0000000..6cc63b2
--- /dev/null
+++ b/test/testModules/moduleA.js
@@ -0,0 +1,75 @@
+"use strict"; // run code in ES5 strict mode
+
+var someOtherModule = require("./someOtherModule.js"),
+ myNumber = 0, // copy by value
+ myObj = {}, // copy by reference
+ 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 === "undefined") {
+ //throw new ReferenceError("global is undefined");
+ }
+ if (typeof process === "undefined") {
+ throw new ReferenceError("process is undefined");
+ }
+ if (typeof console === "undefined") {
+ throw new ReferenceError("console is undefined");
+ }
+ if (typeof Buffer === "undefined") {
+ throw new ReferenceError("Buffer is undefined");
+ }
+ if (typeof __filename === "undefined") {
+ throw new ReferenceError("__filename is undefined");
+ }
+ if (typeof __dirname === "undefined") {
+ throw new ReferenceError("__dirname is undefined");
+ }
+ if (typeof setTimeout === "undefined") {
+ throw new ReferenceError("setTimeout is undefined");
+ }
+}
+
+function getConsole() {
+ return console;
+}
+
+function getProcess() {
+ return process;
+}
+
+function getFilename() {
+ return __filename;
+}
+
+// different styles of exports in moduleA.js and moduleB.js
+exports.setMyNumber = setMyNumber;
+exports.getMyNumber = getMyNumber;
+exports.setMyObj = setMyObj;
+exports.getMyObj = getMyObj;
+exports.readFileSync = readFileSync;
+exports.checkSomeGlobals = checkSomeGlobals;
+exports.getConsole = getConsole;
+exports.getProcess = getProcess;
+exports.getFilename = getFilename;
+exports.someOtherModule = someOtherModule; \ No newline at end of file