mirror of
https://github.com/ManchildProductions/UXP-Fixed.git
synced 2026-06-11 15:08:42 +00:00
47 lines
1.2 KiB
JavaScript
47 lines
1.2 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
function uncaughtException() {
|
|
return invokeInTab("uncaughtException").catch(() => {});
|
|
}
|
|
|
|
function caughtException() {
|
|
return invokeInTab("caughtException");
|
|
}
|
|
|
|
/*
|
|
Tests Pausing on exception
|
|
1. skip an uncaught exception
|
|
2. pause on an uncaught exception
|
|
3. pause on a caught error
|
|
4. skip a caught error
|
|
*/
|
|
add_task(function* () {
|
|
const dbg = yield initDebugger("doc-exceptions.html");
|
|
|
|
// test skipping an uncaught exception
|
|
yield togglePauseOnExceptions(dbg, false, false);
|
|
yield uncaughtException();
|
|
ok(!isPaused(dbg));
|
|
|
|
// Test pausing on an uncaught exception
|
|
yield togglePauseOnExceptions(dbg, true, false);
|
|
uncaughtException();
|
|
yield waitForPaused(dbg);
|
|
assertPausedLocation(dbg, "exceptions.js", 2);
|
|
yield resume(dbg);
|
|
|
|
// Test pausing on a caught Error
|
|
caughtException();
|
|
yield waitForPaused(dbg);
|
|
assertPausedLocation(dbg, "exceptions.js", 15);
|
|
yield resume(dbg);
|
|
|
|
// Test skipping a caught error
|
|
yield togglePauseOnExceptions(dbg, true, true);
|
|
caughtException();
|
|
yield waitForPaused(dbg);
|
|
assertPausedLocation(dbg, "exceptions.js", 17);
|
|
yield resume(dbg);
|
|
});
|