зеркало из https://github.com/mozilla/gecko-dev.git
69 строки
2.1 KiB
JavaScript
69 строки
2.1 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
/**
|
|
* Tests if page navigation ("close", "navigate", etc.) triggers an appropriate
|
|
* action in the network monitor.
|
|
*/
|
|
|
|
function test() {
|
|
initNetMonitor(SIMPLE_URL).then(([aTab, aDebuggee, aMonitor]) => {
|
|
info("Starting test... ");
|
|
|
|
testNavigate(() => testNavigateBack(() => testClose(() => finish())));
|
|
|
|
function testNavigate(aCallback) {
|
|
info("Navigating forward...");
|
|
|
|
aMonitor.panelWin.once(aMonitor.panelWin.EVENTS.TARGET_WILL_NAVIGATE, () => {
|
|
is(aDebuggee.location, SIMPLE_URL,
|
|
"Target started navigating to the correct location.");
|
|
|
|
aMonitor.panelWin.once(aMonitor.panelWin.EVENTS.TARGET_DID_NAVIGATE, () => {
|
|
is(aDebuggee.location, NAVIGATE_URL,
|
|
"Target finished navigating to the correct location.");
|
|
|
|
aCallback();
|
|
});
|
|
});
|
|
|
|
aDebuggee.location = NAVIGATE_URL;
|
|
}
|
|
|
|
function testNavigateBack(aCallback) {
|
|
info("Navigating backward...");
|
|
|
|
aMonitor.panelWin.once(aMonitor.panelWin.EVENTS.TARGET_WILL_NAVIGATE, () => {
|
|
is(aDebuggee.location, NAVIGATE_URL,
|
|
"Target started navigating back to the previous location.");
|
|
|
|
aMonitor.panelWin.once(aMonitor.panelWin.EVENTS.TARGET_DID_NAVIGATE, () => {
|
|
is(aDebuggee.location, SIMPLE_URL,
|
|
"Target finished navigating back to the previous location.");
|
|
|
|
aCallback();
|
|
});
|
|
});
|
|
|
|
aDebuggee.location = SIMPLE_URL;
|
|
}
|
|
|
|
function testClose(aCallback) {
|
|
info("Closing...");
|
|
|
|
aMonitor.once("destroyed", () => {
|
|
ok(!aMonitor._controller.client,
|
|
"There shouldn't be a client available after destruction.");
|
|
ok(!aMonitor._controller.tabClient,
|
|
"There shouldn't be a tabClient available after destruction.");
|
|
ok(!aMonitor._controller.webConsoleClient,
|
|
"There shouldn't be a webConsoleClient available after destruction.");
|
|
|
|
aCallback();
|
|
});
|
|
|
|
removeTab(aTab);
|
|
}
|
|
});
|
|
}
|