aboutsummaryrefslogtreecommitdiff
path: root/tests/Module-exports/main.js
diff options
context:
space:
mode:
authorFraser Adams <fraser.adams@blueyonder.co.uk>2013-10-02 19:59:27 +0100
committerFraser Adams <fraser.adams@blueyonder.co.uk>2013-10-02 19:59:27 +0100
commit17be1563475e5a2d7a5e7c88c02061253669db5f (patch)
tree82b35dd5159270f3f55fcc495d502784ac86f326 /tests/Module-exports/main.js
parent4faa7bd2204efbaad697250180fb4f324fed34ab (diff)
fixed problem where module.exports, which is needed by node.js gets incorrectly minified by Closure. Simple change from module.exports = Module to module['exports'] = Module fixes this. Added simple test case compiling with --O2 -closure 1 to /tests/Module-exports
Diffstat (limited to 'tests/Module-exports/main.js')
-rw-r--r--tests/Module-exports/main.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/Module-exports/main.js b/tests/Module-exports/main.js
new file mode 100644
index 00000000..20f36212
--- /dev/null
+++ b/tests/Module-exports/main.js
@@ -0,0 +1,30 @@
+
+var Module = require("./test.js");
+
+console.log("\nTesting main.js");
+
+var length = 20;
+var ptr = Module._malloc(length); // Get buffer from emscripten.
+var buffer= new Uint8Array(Module.HEAPU8.buffer, ptr, length); // Get a bytes view on the newly allocated buffer.
+
+// Populate the buffer in JavaScript land.
+console.log("buffer length = " + length + "\n");
+for (var i = 0; i < length; i++) {
+ buffer[i] = i + 20; // Add 20 just for a bit of interest.
+ console.log("setting buffer[" + i + "] = " + buffer[i]);
+}
+
+// Export bufferTest function.
+var bufferTest = Module.cwrap('bufferTest', 'number', ['number', 'number']);
+console.log("\ncalling bufferTest\n");
+
+bufferTest(ptr, length); // Call our exported C function to prove the buffer was passed correctly.
+
+console.log("\nbufferTest finished\n");
+
+// free the heap buffer
+Module._free(ptr);
+
+
+
+