Object-isArrowFunction.js (810B)
1 // Debugger.Object.prototype.isArrowFunction recognizes arrow functions. 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 checkIsArrow(shouldBe, expr) { 9 print(expr); 10 assertEq(gDO.executeInGlobal(expr).return.isArrowFunction, shouldBe); 11 } 12 13 checkIsArrow(true, '() => { }'); 14 checkIsArrow(true, '(a) => { bleh; }'); 15 checkIsArrow(false, 'Object.getPrototypeOf(() => { })'); 16 checkIsArrow(false, '(function () { })'); 17 checkIsArrow(false, 'function f() { } f'); 18 checkIsArrow((void 0), '({})'); 19 checkIsArrow(false, 'Math.atan2'); 20 checkIsArrow(false, 'Function.prototype'); 21 checkIsArrow(false, 'Function("")'); 22 checkIsArrow(false, 'new Function("")'); 23 checkIsArrow(false, '(async function f () {})'); 24 checkIsArrow(true, '(async () => { })');