aboutsummaryrefslogtreecommitdiff
path: root/tests/Module-exports/main.js
diff options
context:
space:
mode:
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);
+
+
+
+