tenfourfox/toolkit/components/places/tests/browser/browser_visited_notfound.js
Cameron Kaiser c9b2922b70 hello FPR
2017-04-19 00:56:45 -07:00

52 lines
1.8 KiB
JavaScript

/* 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/. */
const TEST_URI = NetUtil.newURI("http://mochi.test:8888/notFoundPage.html");
function test() {
waitForExplicitFinish();
gBrowser.selectedTab = gBrowser.addTab();
registerCleanupFunction(function() {
gBrowser.removeCurrentTab();
});
// First add a visit to the page, this will ensure that later we skip
// updating the frecency for a newly not-found page.
addVisits({ uri: TEST_URI }, window, () => {
info("Added visit");
fieldForUrl(TEST_URI, "frecency", aFrecency => {
ok(aFrecency > 0, "Frecency should be > 0");
continueTest(aFrecency);
});
});
}
function continueTest(aOldFrecency) {
// Used to verify errors are not marked as typed.
PlacesUtils.history.markPageAsTyped(TEST_URI);
gBrowser.selectedBrowser.loadURI(TEST_URI.spec);
// Create and add history observer.
let historyObserver = {
__proto__: NavHistoryObserver.prototype,
onVisit: function (aURI, aVisitID, aTime, aSessionID, aReferringID,
aTransitionType) {
PlacesUtils.history.removeObserver(historyObserver);
info("Received onVisit: " + aURI.spec);
fieldForUrl(aURI, "frecency", function (aFrecency) {
is(aFrecency, aOldFrecency, "Frecency should be unchanged");
fieldForUrl(aURI, "hidden", function (aHidden) {
is(aHidden, 0, "Page should not be hidden");
fieldForUrl(aURI, "typed", function (aTyped) {
is(aTyped, 0, "page should not be marked as typed");
PlacesTestUtils.clearHistory().then(finish);
});
});
});
}
};
PlacesUtils.history.addObserver(historyObserver, false);
}