Index: test/mjsunit/wasm/js-api.js |
diff --git a/test/mjsunit/wasm/js-api.js b/test/mjsunit/wasm/js-api.js |
index 0c68f9bed4bff0f8920d1f5387b88a2a228218aa..4a2594347fcddac18a204b655ad0c40f45b8b0c1 100644 |
--- a/test/mjsunit/wasm/js-api.js |
+++ b/test/mjsunit/wasm/js-api.js |
@@ -142,6 +142,9 @@ assertErrorMessage(() => new Module(1), TypeError, "first argument must be an Ar |
assertErrorMessage(() => new Module({}), TypeError, "first argument must be an ArrayBuffer or typed array object"); |
assertErrorMessage(() => new Module(new Uint8Array()), CompileError, /failed to match magic number/); |
assertErrorMessage(() => new Module(new ArrayBuffer()), CompileError, /failed to match magic number/); |
+assertErrorMessage( |
+ () => new Module(importingModuleBinary, {'': {f: () => {}}}), TypeError, |
+ /TODO error message/); |
assertEq(new Module(emptyModuleBinary) instanceof Module, true); |
assertEq(new Module(emptyModuleBinary.buffer) instanceof Module, true); |
@@ -609,7 +612,6 @@ assertInstantiateError([importingModule], TypeError, /second argument must be an |
assertInstantiateError([importingModule, null], TypeError, /second argument must be an object/); |
assertInstantiateError([importingModuleBinary, null], TypeError, /second argument must be an object/); |
assertInstantiateError([emptyModule, null], TypeError, /first argument must be a BufferSource/); |
-assertInstantiateError([importingModule, {"":{f:()=>{}}}], TypeError, /first argument must be a BufferSource/); |
assertInstantiateError([importingModuleBinary, null], TypeError, /TODO: error messages?/); |
assertInstantiateError([importingModuleBinary, undefined], TypeError, /TODO: error messages?/); |
assertInstantiateError([importingModuleBinary, {}], LinkError, /TODO: error messages?/); |
@@ -621,14 +623,23 @@ assertInstantiateError([memoryImportingModuleBinary, {}], LinkError, /TODO: erro |
assertInstantiateError([memoryImportingModuleBinary, {"mod": {"my_memory": scratch_memory}}], LinkError, /TODO: error messages?/); |
assertInstantiateError([memoryImportingModuleBinary, {"": {"memory": scratch_memory}}], LinkError, /TODO: error messages?/); |
-function assertInstantiateSuccess(module_bytes, imports) { |
+function assertInstantiateSuccess(module_or_bytes, imports) { |
var result = null; |
- instantiate(module_bytes, imports).then(r => result = r).catch(e => print(e)); |
+ instantiate(module_or_bytes, imports) |
+ .then(r => result = r) |
+ .catch(e => print(e)); |
drainJobQueue(); |
- assertEq(result instanceof Instance, true); |
+ if (module_or_bytes instanceof Module) { |
+ assertEq(result instanceof Instance, true); |
+ } else { |
+ assertEq(result.module instanceof Module, true); |
rossberg
2017/01/20 09:56:54
Nit: Using assertTrue would make this less redunda
Mircea Trofin
2017/01/20 16:29:53
Done, and fixed everywhere else, too.
|
+ assertEq(result.instance instanceof Instance, true); |
+ } |
} |
+assertInstantiateSuccess(emptyModule); |
assertInstantiateSuccess(emptyModuleBinary); |
assertInstantiateSuccess(emptyModuleBinary.buffer); |
+assertInstantiateSuccess(importingModule, {'': {f: () => {}}}); |
assertInstantiateSuccess(importingModuleBinary, {"":{f:()=>{}}}); |
assertInstantiateSuccess(importingModuleBinary.buffer, {"":{f:()=>{}}}); |
assertInstantiateSuccess(memoryImportingModuleBinary, {"": {"my_memory": scratch_memory}}); |