| Index: test/mjsunit/wasm/instantiate-module-basic.js
|
| diff --git a/test/mjsunit/wasm/instantiate-module-basic.js b/test/mjsunit/wasm/instantiate-module-basic.js
|
| index 800dcc1f12fca070da25ae6a20a3c31ce515565b..72a3425c906de342f569d108b40871c6fae6807b 100644
|
| --- a/test/mjsunit/wasm/instantiate-module-basic.js
|
| +++ b/test/mjsunit/wasm/instantiate-module-basic.js
|
| @@ -7,44 +7,54 @@
|
| load("test/mjsunit/wasm/wasm-constants.js");
|
| load("test/mjsunit/wasm/wasm-module-builder.js");
|
|
|
| -var kReturnValue = 117;
|
| -
|
| -var module = (function Build() {
|
| - var builder = new WasmModuleBuilder();
|
| +let kReturnValue = 117;
|
|
|
| +let buffer = (() => {
|
| + let builder = new WasmModuleBuilder();
|
| builder.addMemory(1, 1, true);
|
| builder.addFunction("main", kSig_i)
|
| .addBody([kExprI8Const, kReturnValue])
|
| .exportFunc();
|
|
|
| - return builder.instantiate();
|
| -})();
|
| -
|
| -// Check the module exists.
|
| -assertFalse(module === undefined);
|
| -assertFalse(module === null);
|
| -assertFalse(module === 0);
|
| -assertEquals("object", typeof module);
|
| -
|
| -// Check the memory is an ArrayBuffer.
|
| -var mem = module.exports.memory;
|
| -assertFalse(mem === undefined);
|
| -assertFalse(mem === null);
|
| -assertFalse(mem === 0);
|
| -assertEquals("object", typeof mem);
|
| -assertTrue(mem instanceof ArrayBuffer);
|
| -for (var i = 0; i < 4; i++) {
|
| - module.exports.memory = 0; // should be ignored
|
| - assertEquals(mem, module.exports.memory);
|
| + return builder.toBuffer();
|
| +})()
|
| +
|
| +function CheckInstance(instance) {
|
| + assertFalse(instance === undefined);
|
| + assertFalse(instance === null);
|
| + assertFalse(instance === 0);
|
| + assertEquals("object", typeof instance);
|
| +
|
| + // Check the memory is an ArrayBuffer.
|
| + var mem = instance.exports.memory;
|
| + assertFalse(mem === undefined);
|
| + assertFalse(mem === null);
|
| + assertFalse(mem === 0);
|
| + assertEquals("object", typeof mem);
|
| + assertTrue(mem instanceof ArrayBuffer);
|
| + for (let i = 0; i < 4; i++) {
|
| + instance.exports.memory = 0; // should be ignored
|
| + assertSame(mem, instance.exports.memory);
|
| + }
|
| +
|
| + assertEquals(65536, instance.exports.memory.byteLength);
|
| +
|
| + // Check the properties of the main function.
|
| + let main = instance.exports.main;
|
| + assertFalse(main === undefined);
|
| + assertFalse(main === null);
|
| + assertFalse(main === 0);
|
| + assertEquals("function", typeof main);
|
| +
|
| + assertEquals(kReturnValue, main());
|
| }
|
|
|
| -assertEquals(65536, module.exports.memory.byteLength);
|
| +// Deprecated experimental API.
|
| +CheckInstance(Wasm.instantiateModule(buffer));
|
|
|
| -// Check the properties of the main function.
|
| -var main = module.exports.main;
|
| -assertFalse(main === undefined);
|
| -assertFalse(main === null);
|
| -assertFalse(main === 0);
|
| -assertEquals("function", typeof main);
|
| +// Official API
|
| +let module = new WebAssembly.Module(buffer);
|
| +CheckInstance(new WebAssembly.Instance(module));
|
|
|
| -assertEquals(kReturnValue, main());
|
| +let promise = WebAssembly.compile(buffer);
|
| +promise.then(module => CheckInstance(new WebAssembly.Instance(module)));
|
|
|