tor-browser

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

syntax-modules.js (1470B)


      1 var BUGNUMBER = 1185106;
      2 var summary = "async/await syntax in module";
      3 
      4 print(BUGNUMBER + ": " + summary);
      5 
      6 if (typeof parseModule === "function") {
      7    parseModule("async function f() { await 3; }");
      8    parseModule("async function f() { await 3; }");
      9    assertThrowsInstanceOf(() => parseModule("function f() { await 5; }"), SyntaxError);
     10    assertThrowsInstanceOf(() => parseModule("() => { await 5; }"), SyntaxError);
     11    assertThrowsInstanceOf(() => parseModule("export var await;"), SyntaxError);
     12    assertThrowsInstanceOf(() => parseModule("await => 1;"), SyntaxError);
     13    assertThrowsInstanceOf(() => parseModule("async function f() { function g() { await 3; } }"), SyntaxError);
     14 
     15    if (typeof Reflect !== "undefined" && Reflect.parse) {
     16        Reflect.parse("export async function f() {}", { target: "module" });
     17        assertThrowsInstanceOf(() => Reflect.parse("export async function() {}", { target: "module" }), SyntaxError);
     18 
     19        Reflect.parse("export default async function() {}", { target: "module" });
     20        Reflect.parse("export default async function f() {}", { target: "module" });
     21 
     22        assertThrowsInstanceOf(() => Reflect.parse("export default async function() { yield; }", { target: "module" }), SyntaxError);
     23        assertThrowsInstanceOf(() => Reflect.parse("export default async function() { yield = 1; }", { target: "module" }), SyntaxError);
     24    }
     25 }
     26 
     27 if (typeof reportCompare === "function")
     28    reportCompare(true, true);