diff options
Diffstat (limited to 'tests/Module-exports/main.js')
-rw-r--r-- | tests/Module-exports/main.js | 30 |
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); + + + + |