tor-browser

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

Object-isClassConstructor.js (712B)


      1 // Debugger.Object.prototype.isClassConstructor recognizes ES6 classes.
      2 
      3 var g = newGlobal({ newCompartment: true });
      4 var dbg = new Debugger();
      5 var gDO = dbg.addDebuggee(g);
      6 var hits = 0;
      7 
      8 function checkIsClassConstructor(shouldBe, expr) {
      9  print(expr);
     10  assertEq(gDO.executeInGlobal(expr).return.isClassConstructor, shouldBe);
     11 }
     12 
     13 checkIsClassConstructor(true, "class MyClass{}; MyClass;");
     14 checkIsClassConstructor(false, "class MyClass2{}; MyClass2.constructor;");
     15 checkIsClassConstructor(
     16  false,
     17  "class MyClass3{}; Object.getPrototypeOf(MyClass3)"
     18 );
     19 checkIsClassConstructor(false, "(a) => { bleh; }");
     20 checkIsClassConstructor(false, "(async function f () {})");
     21 checkIsClassConstructor(void 0, "({})");