moduleSource.tentative.any.js (1419B)
1 // META: global=window,dedicatedworker,jsshell,shadowrealm 2 // META: script=/wasm/jsapi/wasm-module-builder.js 3 // META: script=/wasm/jsapi/assertions.js 4 5 let emptyModuleBinary; 6 setup(() => { 7 emptyModuleBinary = new WasmModuleBuilder().toBuffer(); 8 }); 9 10 test(() => { 11 assert_equals(typeof AbstractModuleSource, "undefined"); 12 }, "AbstractModuleSource is not a global"); 13 14 test(() => { 15 const AbstractModuleSource = Object.getPrototypeOf(WebAssembly.Module); 16 assert_equals(AbstractModuleSource.name, "AbstractModuleSource"); 17 assert_not_equals(AbstractModuleSource, Function); 18 }, "AbstractModuleSource intrinsic"); 19 20 test(() => { 21 const AbstractModuleSourceProto = Object.getPrototypeOf(WebAssembly.Module.prototype); 22 assert_not_equals(AbstractModuleSourceProto, Object.prototype); 23 const AbstractModuleSource = Object.getPrototypeOf(WebAssembly.Module); 24 assert_equals(AbstractModuleSource.prototype, AbstractModuleSourceProto); 25 }, "AbstractModuleSourceProto intrinsic"); 26 27 test(() => { 28 const module = new WebAssembly.Module(emptyModuleBinary); 29 30 const AbstractModuleSource = Object.getPrototypeOf(WebAssembly.Module); 31 const toStringTag = Object.getOwnPropertyDescriptor(AbstractModuleSource.prototype, Symbol.toStringTag).get; 32 33 assert_equals(toStringTag.call(module), "WebAssembly.Module"); 34 assert_throws_js(TypeError, () => toStringTag.call({})); 35 }, "AbstractModuleSourceProto toStringTag brand check");