mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-08 00:38:39 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
59
devtools/server/tests/unit/test_nsjsinspector.js
Normal file
59
devtools/server/tests/unit/test_nsjsinspector.js
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
// Test the basic functionality of the nsIJSInspector component.
|
||||
var gCount = 0;
|
||||
const MAX = 10;
|
||||
var inspector = Cc["@mozilla.org/jsinspector;1"].getService(Ci.nsIJSInspector);
|
||||
var tm = Cc["@mozilla.org/thread-manager;1"].getService(Ci.nsIThreadManager);
|
||||
|
||||
// Emulate 10 simultaneously-debugged windows from 3 separate client connections.
|
||||
var requestor = (count) => ({
|
||||
url:"http://foo/bar/" + count,
|
||||
connection: "conn" + (count % 3)
|
||||
});
|
||||
|
||||
function run_test()
|
||||
{
|
||||
test_nesting();
|
||||
}
|
||||
|
||||
function test_nesting()
|
||||
{
|
||||
do_check_eq(inspector.eventLoopNestLevel, 0);
|
||||
|
||||
tm.currentThread.dispatch({ run: enterEventLoop}, 0);
|
||||
|
||||
do_check_eq(inspector.enterNestedEventLoop(requestor(gCount)), 0);
|
||||
do_check_eq(inspector.eventLoopNestLevel, 0);
|
||||
do_check_eq(inspector.lastNestRequestor, null);
|
||||
}
|
||||
|
||||
function enterEventLoop() {
|
||||
if (gCount++ < MAX) {
|
||||
tm.currentThread.dispatch({ run: enterEventLoop}, 0);
|
||||
|
||||
let r = Object.create(requestor(gCount));
|
||||
|
||||
do_check_eq(inspector.eventLoopNestLevel, gCount);
|
||||
do_check_eq(inspector.lastNestRequestor.url, requestor(gCount - 1).url);
|
||||
do_check_eq(inspector.lastNestRequestor.connection, requestor(gCount - 1).connection);
|
||||
do_check_eq(inspector.enterNestedEventLoop(requestor(gCount)), gCount);
|
||||
} else {
|
||||
do_check_eq(gCount, MAX + 1);
|
||||
tm.currentThread.dispatch({ run: exitEventLoop}, 0);
|
||||
}
|
||||
}
|
||||
|
||||
function exitEventLoop() {
|
||||
if (inspector.lastNestRequestor != null) {
|
||||
do_check_eq(inspector.lastNestRequestor.url, requestor(gCount - 1).url);
|
||||
do_check_eq(inspector.lastNestRequestor.connection, requestor(gCount - 1).connection);
|
||||
if (gCount-- > 1) {
|
||||
tm.currentThread.dispatch({ run: exitEventLoop}, 0);
|
||||
}
|
||||
|
||||
do_check_eq(inspector.exitNestedEventLoop(), gCount);
|
||||
do_check_eq(inspector.eventLoopNestLevel, gCount);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue