diff options
Diffstat (limited to 'toolkit/components/places/tests/browser/browser_notfound.js')
-rw-r--r-- | toolkit/components/places/tests/browser/browser_notfound.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/toolkit/components/places/tests/browser/browser_notfound.js b/toolkit/components/places/tests/browser/browser_notfound.js new file mode 100644 index 0000000000..aa17fb64dd --- /dev/null +++ b/toolkit/components/places/tests/browser/browser_notfound.js @@ -0,0 +1,38 @@ +/* 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/. */ + +add_task(async function() { + const TEST_URL = "http://mochi.test:8888/notFoundPage.html"; + + // Used to verify errors are not marked as typed. + PlacesUtils.history.markPageAsTyped(NetUtil.newURI(TEST_URL)); + + // Create and add history observer. + let visitedPromise = new Promise(resolve => { + function listener(aEvents) { + is(aEvents.length, 1, "Right number of visits notified"); + is(aEvents[0].type, "page-visited"); + let uri = NetUtil.newURI(aEvents[0].url); + PlacesObservers.removeListener(["page-visited"], listener); + info("Received 'page-visited': " + uri.spec); + fieldForUrl(uri, "frecency", function(aFrecency) { + is(aFrecency, 0, "Frecency should be 0"); + fieldForUrl(uri, "hidden", function(aHidden) { + is(aHidden, 0, "Page should not be hidden"); + fieldForUrl(uri, "typed", function(aTyped) { + is(aTyped, 0, "page should not be marked as typed"); + resolve(); + }); + }); + }); + } + PlacesObservers.addListener(["page-visited"], listener); + }); + + let newTabPromise = BrowserTestUtils.openNewForegroundTab(gBrowser, TEST_URL); + await Promise.all([visitedPromise, newTabPromise]); + + await PlacesUtils.history.clear(); + gBrowser.removeCurrentTab(); +}); |