Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test gets skipped with pattern: os == 'win'
- Manifest: devtools/client/responsive/test/browser/browser.toml
"use strict";
// Test the offline mode in RDM
addRDMTask(TEST_URL, async function ({ browser, ui }) {
// switch to offline mode
await selectNetworkThrottling(ui, "Offline");
// reload w/o cache
browser.reloadWithFlags(Ci.nsIWebNavigation.LOAD_FLAGS_BYPASS_CACHE);
await BrowserTestUtils.browserLoaded(browser, false, TEST_URL, true);
// check page is offline
await assertPageIsOffline(TEST_URL);
// switch back to online mode
await selectNetworkThrottling(ui, "No Throttling");
// reload
browser.reload();
await BrowserTestUtils.browserLoaded(browser, false, TEST_URL, false);
// check page is online
await assertPageIsOnline(TEST_URL);
});
function assertPageIsOnline(url) {
return SpecialPowers.spawn(
gBrowser.selectedTab.linkedBrowser,
[url],
function (uri) {
is(content.document.documentURI, uri, `Document URI is actual page.`);
is(content.location.href, uri, "Docshell URI is the original URI.");
}
);
}
function assertPageIsOffline(url) {
return SpecialPowers.spawn(
gBrowser.selectedTab.linkedBrowser,
[url],
function (uri) {
is(
content.document.documentURI.substring(0, 27),
"about:neterror?e=netOffline",
"Document URI is the error page."
);
is(content.location.href, uri, "Docshell URI is the original URI.");
}
);
}