Script-getOffsetsCoverage-02.js (1159B)
1 // |jit-test| --ion-pruning=off; skip-if: isLcovEnabled() 2 3 // This script check that when we enable / disable the code coverage collection, 4 // then we have different results for the getOffsetsCoverage methods. 5 6 var g = newGlobal({newCompartment: true}); 7 var dbg = Debugger(g); 8 var coverageInfo = []; 9 var num = 20; 10 function loop(i) { 11 var n = 0; 12 for (n = 0; n < i; n++) 13 debugger; 14 } 15 g.eval(loop.toString()); 16 17 dbg.onDebuggerStatement = function (f) { 18 // Collect coverage info each time we hit a debugger statement. 19 coverageInfo.push(f.callee.script.getOffsetsCoverage()); 20 }; 21 22 coverageInfo = []; 23 dbg.collectCoverageInfo = false; 24 g.eval("loop(" + num + ");"); 25 assertEq(coverageInfo.length, num); 26 assertEq(coverageInfo[0], null); 27 assertEq(coverageInfo[num - 1], null); 28 29 coverageInfo = []; 30 dbg.collectCoverageInfo = true; 31 g.eval("loop(" + num + ");"); 32 assertEq(coverageInfo.length, num); 33 assertEq(!coverageInfo[0], false); 34 assertEq(!coverageInfo[num - 1], false); 35 36 coverageInfo = []; 37 dbg.collectCoverageInfo = false; 38 g.eval("loop(" + num + ");"); 39 assertEq(coverageInfo.length, num); 40 assertEq(coverageInfo[0], null); 41 assertEq(coverageInfo[num - 1], null);