Debugger-onNativeCall-03.js (703B)
1 // Test onNativeCall's behavior when used with self-hosted functions 2 // and trampoline natives. 3 4 load(libdir + 'eqArrayHelper.js'); 5 6 var g = newGlobal({newCompartment: true}); 7 var dbg = Debugger(g); 8 var gdbg = dbg.addDebuggee(g); 9 10 const rv = []; 11 12 dbg.onEnterFrame = f => { 13 rv.push("EnterFrame"); 14 }; 15 16 dbg.onNativeCall = f => { 17 rv.push(f.displayName); 18 }; 19 20 gdbg.executeInGlobal(` 21 var x = [1,3,2]; 22 x.forEach((a) => {print(a)}); 23 x.sort((a, b) => {print(a)}); 24 x.sort(print); 25 `); 26 27 assertEqArray(rv, [ 28 "EnterFrame", "forEach", 29 "EnterFrame", "print", 30 "EnterFrame", "print", 31 "EnterFrame", "print", 32 33 "sort", 34 "EnterFrame","print", 35 "EnterFrame","print", 36 37 "sort", 38 "print", 39 "print" 40 ]);