Bug 806701 - Port browser_privatebrowsing_windowtitle.js to the new per-window PB APIs; r=ehsan

--HG--
rename : browser/components/privatebrowsing/test/browser/global/browser_privatebrowsing_windowtitle.js => browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_windowtitle.js
rename : browser/components/privatebrowsing/test/browser/global/browser_privatebrowsing_windowtitle_page.html => browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_windowtitle_page.html
This commit is contained in:
Bellindira Castillo [:bellindira] 2012-11-15 19:07:55 -06:00
parent 4f3a72173c
commit 572080d729
3 changed files with 110 additions and 0 deletions

View File

@ -35,6 +35,8 @@ MOCHITEST_BROWSER_FILES = \
browser_privatebrowsing_protocolhandler_page.html \
browser_privatebrowsing_theming.js \
browser_privatebrowsing_urlbarfocus.js \
browser_privatebrowsing_windowtitle.js \
browser_privatebrowsing_windowtitle_page.html \
browser_privatebrowsing_zoomrestore.js \
popup.html \
$(NULL)

View File

@ -0,0 +1,99 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// This test makes sure that the window title changes correctly while switching
// from and to private browsing mode.
function test() {
const testPageURL = "http://mochi.test:8888/browser/" +
"browser/components/privatebrowsing/test/browser/perwindow/browser_privatebrowsing_windowtitle_page.html";
waitForExplicitFinish();
requestLongerTimeout(2);
// initialization of expected titles
let test_title = "Test title";
let app_name = document.documentElement.getAttribute("title");
const isOSX = ("nsILocalFileMac" in Ci);
let page_with_title;
let page_without_title;
let about_pb_title;
let pb_page_with_title;
let pb_page_without_title;
let pb_about_pb_title;
if (isOSX) {
page_with_title = test_title;
page_without_title = app_name;
about_pb_title = "Would you like to start Private Browsing?";
pb_page_with_title = test_title + " - (Private Browsing)";
pb_page_without_title = app_name + " - (Private Browsing)";
pb_about_pb_title = pb_page_without_title;
}
else {
page_with_title = test_title + " - " + app_name;
page_without_title = app_name;
about_pb_title = "Would you like to start Private Browsing?" + " - " + app_name;
pb_page_with_title = test_title + " - " + app_name + " (Private Browsing)";
pb_page_without_title = app_name + " (Private Browsing)";
pb_about_pb_title = "Private Browsing - " + app_name + " (Private Browsing)";
}
function testTabTitle(aWindow, url, insidePB, expected_title, funcNext) {
executeSoon(function () {
let tab = aWindow.gBrowser.selectedTab = aWindow.gBrowser.addTab();
let browser = aWindow.gBrowser.selectedBrowser;
browser.stop();
// ensure that the test is run after the titlebar has been updated
browser.addEventListener("pageshow", function () {
browser.removeEventListener("pageshow", arguments.callee, false);
executeSoon(function () {
is(aWindow.document.title, expected_title, "The window title for " + url +
" is correct (" + (insidePB ? "inside" : "outside") +
" private browsing mode)");
let win = aWindow.gBrowser.replaceTabWithWindow(tab);
win.addEventListener("load", function() {
win.removeEventListener("load", arguments.callee, false);
executeSoon(function() {
is(win.document.title, expected_title, "The window title for " + url +
" detached tab is correct (" + (insidePB ? "inside" : "outside") +
" private browsing mode)");
win.close();
aWindow.close();
setTimeout(funcNext, 0);
});
}, false);
});
}, false);
browser.loadURI(url);
});
}
whenNewWindowLoaded({private: false}, function(win) {
testTabTitle(win, "about:blank", false, page_without_title, function() {
whenNewWindowLoaded({private: false}, function(win) {
testTabTitle(win, testPageURL, false, page_with_title, function() {
whenNewWindowLoaded({private: false}, function(win) {
testTabTitle(win, "about:privatebrowsing", false, about_pb_title, function() {
whenNewWindowLoaded({private: true}, function(win) {
testTabTitle(win, "about:blank", true, pb_page_without_title, function() {
whenNewWindowLoaded({private: true}, function(win) {
testTabTitle(win, testPageURL, true, pb_page_with_title, function() {
whenNewWindowLoaded({private: true}, function(win) {
testTabTitle(win, "about:privatebrowsing", true, pb_about_pb_title, finish);
});
});
});
});
});
});
});
});
});
});
});
return;
}

View File

@ -0,0 +1,9 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>Test title</title>
</head>
<body>
Test page for the window title test
</body>
</html>