// Throw if a this-value or argument is an object but not a Debugger.Object.
assertThrowsInstanceOf(function () { usingApply ? fn.apply({}, []) : fn.call({}); },
TypeError);
assertThrowsInstanceOf(function () { usingApply ? fn.apply(null, [{}]) : fn.call(null, {}); },
TypeError);
hits++;
};
g.eval("f(function (a, b) { return a + b; });");
// The callee receives the right arguments even if more arguments are provided // than the callee's .length.
dbg.onDebuggerStatement = function (frame) {
assertEq((usingApply ? frame.arguments[0].apply(null, ['one', 'two'])
: frame.arguments[0].call(null, 'one', 'two')).return,
2);
hits++;
};
g.eval("f(function () { return arguments.length; });");
// Exceptions are reported as {throw,stack} completion values.
dbg.onDebuggerStatement = function (frame) { var lose = frame.arguments[0]; var cv = usingApply ? lose.apply(null, []) : lose.call(null);
assertEq(Object.keys(cv).join(","), "throw,stack");
assertEq(cv.throw, frame.callee);
hits++;
};
g.eval("f(function lose() { throw f; });");
}
test(true);
test(false);
assertEq(hits, 6);
Messung V0.5
¤ Dauer der Verarbeitung: 0.15 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.