author | Neil Deakin <neil@mozilla.com> |
Wed, 20 Jan 2016 08:45:58 -0500 | |
changeset 280777 | 607774de446ffa77592d6770a51fa7e2ff2a794f |
parent 280776 | dd033af22d121e2ce58242e75ebaea4b4574b0b9 |
child 280778 | 9409b1908f8d1eee3f3ec0c0b32cec38b813047b |
push id | 29922 |
push user | cbook@mozilla.com |
push date | Thu, 21 Jan 2016 10:51:00 +0000 |
treeherder | mozilla-central@977d78a8dd78 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | mak |
bugs | 1236554 |
milestone | 46.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
toolkit/components/places/tests/browser/browser_notfound.js | file | annotate | diff | comparison | revisions |
--- a/toolkit/components/places/tests/browser/browser_notfound.js +++ b/toolkit/components/places/tests/browser/browser_notfound.js @@ -1,44 +1,46 @@ /* 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/. */ -function test() { - waitForExplicitFinish(); +add_task(function* () { + const TEST_URL = "http://mochi.test:8888/notFoundPage.html"; - gBrowser.selectedTab = gBrowser.addTab(); - registerCleanupFunction(function() { - gBrowser.removeCurrentTab(); - }); - 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)); - gBrowser.selectedBrowser.loadURI(TEST_URL); // Create and add history observer. - let historyObserver = { - onVisit: function (aURI, aVisitID, aTime, aSessionID, aReferringID, - aTransitionType) { - PlacesUtils.history.removeObserver(historyObserver); - info("Received onVisit: " + aURI.spec); - fieldForUrl(aURI, "frecency", function (aFrecency) { - is(aFrecency, 0, "Frecency should be 0"); - 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); + let visitedPromise = new Promise(resolve => { + let historyObserver = { + onVisit: function (aURI, aVisitID, aTime, aSessionID, aReferringID, + aTransitionType) { + PlacesUtils.history.removeObserver(historyObserver); + info("Received onVisit: " + aURI.spec); + fieldForUrl(aURI, "frecency", function (aFrecency) { + is(aFrecency, 0, "Frecency should be 0"); + 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"); + resolve(); + }); }); }); - }); - }, - onBeginUpdateBatch: function () {}, - onEndUpdateBatch: function () {}, - onTitleChanged: function () {}, - onDeleteURI: function () {}, - onClearHistory: function () {}, - onPageChanged: function () {}, - onDeleteVisits: function () {}, - QueryInterface: XPCOMUtils.generateQI([Ci.nsINavHistoryObserver]) - }; - PlacesUtils.history.addObserver(historyObserver, false); -} + }, + onBeginUpdateBatch: function () {}, + onEndUpdateBatch: function () {}, + onTitleChanged: function () {}, + onDeleteURI: function () {}, + onClearHistory: function () {}, + onPageChanged: function () {}, + onDeleteVisits: function () {}, + QueryInterface: XPCOMUtils.generateQI([Ci.nsINavHistoryObserver]) + }; + PlacesUtils.history.addObserver(historyObserver, false); + }); + + let newTabPromise = BrowserTestUtils.openNewForegroundTab(gBrowser, TEST_URL); + yield Promise.all([visitedPromise, newTabPromise]); + + yield PlacesTestUtils.clearHistory(); + gBrowser.removeCurrentTab(); +});