mirror of
https://github.com/classilla/tenfourfox.git
synced 2025-01-09 13:30:34 +00:00
36 lines
602 B
JavaScript
36 lines
602 B
JavaScript
// Test that the onGarbageCollection hook is not reentrant.
|
|
|
|
|
|
function run_test() {
|
|
do_test_pending();
|
|
|
|
const root = newGlobal();
|
|
const dbg = new Debugger();
|
|
const wrappedRoot = dbg.addDebuggee(root)
|
|
|
|
let fired = true;
|
|
let depth = 0;
|
|
|
|
dbg.memory.onGarbageCollection = _ => {
|
|
fired = true;
|
|
|
|
equal(depth, 0);
|
|
depth++;
|
|
try {
|
|
root.eval(`gc()`);
|
|
} finally {
|
|
equal(depth, 1);
|
|
depth--;
|
|
}
|
|
}
|
|
|
|
root.eval(`gc()`);
|
|
|
|
executeSoon(() => {
|
|
ok(fired);
|
|
equal(depth, 0);
|
|
dbg.memory.onGarbageCollection = undefined;
|
|
do_test_finished();
|
|
});
|
|
}
|