tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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");