diff options
Diffstat (limited to 'toolkit/components/places/tests/browser/browser_favicon_setAndFetchFaviconForPage_failures.js')
-rw-r--r-- | toolkit/components/places/tests/browser/browser_favicon_setAndFetchFaviconForPage_failures.js | 261 |
1 files changed, 0 insertions, 261 deletions
diff --git a/toolkit/components/places/tests/browser/browser_favicon_setAndFetchFaviconForPage_failures.js b/toolkit/components/places/tests/browser/browser_favicon_setAndFetchFaviconForPage_failures.js deleted file mode 100644 index bd73af441..000000000 --- a/toolkit/components/places/tests/browser/browser_favicon_setAndFetchFaviconForPage_failures.js +++ /dev/null @@ -1,261 +0,0 @@ -/* 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 file tests setAndFetchFaviconForPage when it is called with invalid - * arguments, and when no favicon is stored for the given arguments. - */ -function test() { - // Initialization - waitForExplicitFinish(); - let windowsToClose = []; - let favIcon16Location = - "http://example.org/tests/toolkit/components/places/tests/browser/favicon-normal16.png"; - let favIcon32Location = - "http://example.org/tests/toolkit/components/places/tests/browser/favicon-normal32.png"; - let favIcon16URI = NetUtil.newURI(favIcon16Location); - let favIcon32URI = NetUtil.newURI(favIcon32Location); - let lastPageURI = NetUtil.newURI("http://example.com/verification"); - // This error icon must stay in sync with FAVICON_ERRORPAGE_URL in - // nsIFaviconService.idl, aboutCertError.xhtml and netError.xhtml. - let favIconErrorPageURI = - NetUtil.newURI("chrome://global/skin/icons/warning-16.png"); - let favIconsResultCount = 0; - - function testOnWindow(aOptions, aCallback) { - whenNewWindowLoaded(aOptions, function(aWin) { - windowsToClose.push(aWin); - executeSoon(() => aCallback(aWin)); - }); - } - - // This function is called after calling finish() on the test. - registerCleanupFunction(function() { - windowsToClose.forEach(function(aWin) { - aWin.close(); - }); - }); - - function checkFavIconsDBCount(aCallback) { - let stmt = DBConn().createAsyncStatement("SELECT url FROM moz_favicons"); - stmt.executeAsync({ - handleResult: function final_handleResult(aResultSet) { - while (aResultSet.getNextRow()) { - favIconsResultCount++; - } - }, - handleError: function final_handleError(aError) { - throw ("Unexpected error (" + aError.result + "): " + aError.message); - }, - handleCompletion: function final_handleCompletion(aReason) { - // begin testing - info("Previous records in moz_favicons: " + favIconsResultCount); - if (aCallback) { - aCallback(); - } - } - }); - stmt.finalize(); - } - - function testNullPageURI(aWindow, aCallback) { - try { - aWindow.PlacesUtils.favicons.setAndFetchFaviconForPage(null, favIcon16URI, - true, aWindow.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, - Services.scriptSecurityManager.getSystemPrincipal()); - throw ("Exception expected because aPageURI is null."); - } catch (ex) { - // We expected an exception. - ok(true, "Exception expected because aPageURI is null"); - } - - if (aCallback) { - aCallback(); - } - } - - function testNullFavIconURI(aWindow, aCallback) { - try { - aWindow.PlacesUtils.favicons.setAndFetchFaviconForPage( - NetUtil.newURI("http://example.com/null_faviconURI"), null, - true, aWindow.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, - null, Services.scriptSecurityManager.getSystemPrincipal()); - throw ("Exception expected because aFaviconURI is null."); - } catch (ex) { - // We expected an exception. - ok(true, "Exception expected because aFaviconURI is null."); - } - - if (aCallback) { - aCallback(); - } - } - - function testAboutURI(aWindow, aCallback) { - aWindow.PlacesUtils.favicons.setAndFetchFaviconForPage( - NetUtil.newURI("about:testAboutURI"), favIcon16URI, - true, aWindow.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, - null, Services.scriptSecurityManager.getSystemPrincipal()); - - if (aCallback) { - aCallback(); - } - } - - function testPrivateBrowsingNonBookmarkedURI(aWindow, aCallback) { - let pageURI = NetUtil.newURI("http://example.com/privateBrowsing"); - addVisits({ uri: pageURI, transitionType: TRANSITION_TYPED }, aWindow, - function () { - aWindow.PlacesUtils.favicons.setAndFetchFaviconForPage(pageURI, - favIcon16URI, true, - aWindow.PlacesUtils.favicons.FAVICON_LOAD_PRIVATE, null, - Services.scriptSecurityManager.getSystemPrincipal()); - - if (aCallback) { - aCallback(); - } - }); - } - - function testDisabledHistory(aWindow, aCallback) { - let pageURI = NetUtil.newURI("http://example.com/disabledHistory"); - addVisits({ uri: pageURI, transition: TRANSITION_TYPED }, aWindow, - function () { - aWindow.Services.prefs.setBoolPref("places.history.enabled", false); - - aWindow.PlacesUtils.favicons.setAndFetchFaviconForPage(pageURI, - favIcon16URI, true, - aWindow.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, - Services.scriptSecurityManager.getSystemPrincipal()); - - // The setAndFetchFaviconForPage function calls CanAddURI synchronously, thus - // we can set the preference back to true immediately . We don't clear the - // preference because not all products enable Places by default. - aWindow.Services.prefs.setBoolPref("places.history.enabled", true); - - if (aCallback) { - aCallback(); - } - }); - } - - function testErrorIcon(aWindow, aCallback) { - let pageURI = NetUtil.newURI("http://example.com/errorIcon"); - addVisits({ uri: pageURI, transition: TRANSITION_TYPED }, aWindow, - function () { - aWindow.PlacesUtils.favicons.setAndFetchFaviconForPage(pageURI, - favIconErrorPageURI, true, - aWindow.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, - Services.scriptSecurityManager.getSystemPrincipal()); - - if (aCallback) { - aCallback(); - } - }); - } - - function testNonExistingPage(aWindow, aCallback) { - aWindow.PlacesUtils.favicons.setAndFetchFaviconForPage( - NetUtil.newURI("http://example.com/nonexistingPage"), favIcon16URI, - true, aWindow.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, - Services.scriptSecurityManager.getSystemPrincipal()); - - if (aCallback) { - aCallback(); - } - } - - function testFinalVerification(aWindow, aCallback) { - // Only the last test should raise the onPageChanged notification, - // executing the waitForFaviconChanged callback. - waitForFaviconChanged(lastPageURI, favIcon32URI, aWindow, - function final_callback() { - // Check that only one record corresponding to the last favicon is present. - let resultCount = 0; - let stmt = DBConn().createAsyncStatement("SELECT url FROM moz_favicons"); - stmt.executeAsync({ - handleResult: function final_handleResult(aResultSet) { - - // If the moz_favicons DB had been previously loaded (before our - // test began), we should focus only in the URI we are testing and - // skip the URIs not related to our test. - if (favIconsResultCount > 0) { - for (let row; (row = aResultSet.getNextRow()); ) { - if (favIcon32URI.spec === row.getResultByIndex(0)) { - is(favIcon32URI.spec, row.getResultByIndex(0), - "Check equal favicons"); - resultCount++; - } - } - } else { - for (let row; (row = aResultSet.getNextRow()); ) { - is(favIcon32URI.spec, row.getResultByIndex(0), - "Check equal favicons"); - resultCount++; - } - } - }, - handleError: function final_handleError(aError) { - throw ("Unexpected error (" + aError.result + "): " + aError.message); - }, - handleCompletion: function final_handleCompletion(aReason) { - is(Ci.mozIStorageStatementCallback.REASON_FINISHED, aReason, - "Check reasons are equal"); - is(1, resultCount, "Check result count"); - if (aCallback) { - aCallback(); - } - } - }); - stmt.finalize(); - }); - - // This is the only test that should cause the waitForFaviconChanged - // callback to be invoked. In turn, the callback will invoke - // finish() causing the tests to finish. - addVisits({ uri: lastPageURI, transition: TRANSITION_TYPED }, aWindow, - function () { - aWindow.PlacesUtils.favicons.setAndFetchFaviconForPage(lastPageURI, - favIcon32URI, true, - aWindow.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, - Services.scriptSecurityManager.getSystemPrincipal()); - }); - } - - checkFavIconsDBCount(function () { - testOnWindow({}, function(aWin) { - testNullPageURI(aWin, function () { - testOnWindow({}, function(aWin2) { - testNullFavIconURI(aWin2, function() { - testOnWindow({}, function(aWin3) { - testAboutURI(aWin3, function() { - testOnWindow({private: true}, function(aWin4) { - testPrivateBrowsingNonBookmarkedURI(aWin4, function () { - testOnWindow({}, function(aWin5) { - testDisabledHistory(aWin5, function () { - testOnWindow({}, function(aWin6) { - testErrorIcon(aWin6, function() { - testOnWindow({}, function(aWin7) { - testNonExistingPage(aWin7, function() { - testOnWindow({}, function(aWin8) { - testFinalVerification(aWin8, function() { - finish(); - }); - }); - }); - }); - }); - }); - }); - }); - }); - }); - }); - }); - }); - }); - }); - }); - }); -} |