mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-09 01:08: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
87
docshell/test/browser/browser_bug503832.js
Normal file
87
docshell/test/browser/browser_bug503832.js
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
/* Test for Bug 503832
|
||||
* https://bugzilla.mozilla.org/show_bug.cgi?id=503832
|
||||
*/
|
||||
|
||||
add_task(function* () {
|
||||
var pagetitle = "Page Title for Bug 503832";
|
||||
var pageurl = "http://mochi.test:8888/browser/docshell/test/browser/file_bug503832.html";
|
||||
var fragmenturl = "http://mochi.test:8888/browser/docshell/test/browser/file_bug503832.html#firefox";
|
||||
|
||||
var historyService = Cc["@mozilla.org/browser/nav-history-service;1"]
|
||||
.getService(Ci.nsINavHistoryService);
|
||||
|
||||
let fragmentPromise = new Promise(resolve => {
|
||||
/* Global history observer that triggers for the two test URLs above. */
|
||||
var historyObserver = {
|
||||
onBeginUpdateBatch: function() {},
|
||||
onEndUpdateBatch: function() {},
|
||||
onVisit: function(aURI, aVisitID, aTime, aSessionId, aReferringId,
|
||||
aTransitionType, _added) {},
|
||||
onTitleChanged: function(aURI, aPageTitle) {
|
||||
aURI = aURI.spec;
|
||||
switch (aURI) {
|
||||
case pageurl:
|
||||
is(aPageTitle, pagetitle, "Correct page title for " + aURI);
|
||||
return;
|
||||
case fragmenturl:
|
||||
is(aPageTitle, pagetitle, "Correct page title for " + aURI);
|
||||
// If titles for fragment URLs aren't set, this code
|
||||
// branch won't be called and the test will timeout,
|
||||
// resulting in a failure
|
||||
historyService.removeObserver(historyObserver, false);
|
||||
resolve();
|
||||
}
|
||||
},
|
||||
onDeleteURI: function(aURI) {},
|
||||
onClearHistory: function() {},
|
||||
onPageChanged: function(aURI, aWhat, aValue) {},
|
||||
onDeleteVisits: function () {},
|
||||
QueryInterface: function(iid) {
|
||||
if (iid.equals(Ci.nsINavHistoryObserver) ||
|
||||
iid.equals(Ci.nsISupports)) {
|
||||
return this;
|
||||
}
|
||||
throw Cr.NS_ERROR_NO_INTERFACE;
|
||||
}
|
||||
};
|
||||
|
||||
historyService.addObserver(historyObserver, false);
|
||||
});
|
||||
|
||||
/* Queries nsINavHistoryService and returns a single history entry
|
||||
* for a given URI */
|
||||
function getNavHistoryEntry(aURI) {
|
||||
var options = historyService.getNewQueryOptions();
|
||||
options.queryType = Ci.nsINavHistoryQueryOptions.QUERY_TYPE_HISTORY;
|
||||
options.maxResults = 1;
|
||||
|
||||
var query = historyService.getNewQuery();
|
||||
query.uri = aURI;
|
||||
|
||||
var result = historyService.executeQuery(query, options);
|
||||
result.root.containerOpen = true;
|
||||
|
||||
if (!result.root.childCount) {
|
||||
return null;
|
||||
}
|
||||
var node = result.root.getChild(0);
|
||||
result.root.containerOpen = false;
|
||||
return node;
|
||||
}
|
||||
|
||||
// Make sure neither of the test pages haven't been loaded before.
|
||||
var info = getNavHistoryEntry(makeURI(pageurl));
|
||||
ok(!info, "The test page must not have been visited already.");
|
||||
info = getNavHistoryEntry(makeURI(fragmenturl));
|
||||
ok(!info, "The fragment test page must not have been visited already.");
|
||||
|
||||
// Now open the test page in a new tab
|
||||
yield BrowserTestUtils.openNewForegroundTab(gBrowser, pageurl);
|
||||
|
||||
// Now that the page is loaded, click on fragment link
|
||||
yield BrowserTestUtils.synthesizeMouseAtCenter("#firefox-link", {},
|
||||
gBrowser.selectedBrowser);
|
||||
yield fragmentPromise;
|
||||
|
||||
gBrowser.removeCurrentTab();
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue