diff options
author | Matt A. Tobin <email@mattatobin.com> | 2020-02-25 15:07:00 -0500 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2020-02-25 15:07:00 -0500 |
commit | 0ddd00f1959c78ce37c14fef3c83401408fca3bf (patch) | |
tree | d408e02767c86cf8aac3acbb86722b03c77ede6f /toolkit/components/places/tests/unit/test_history_observer.js | |
parent | 20f0905b33cbb18d1caa80c55e2f552c2e18957b (diff) | |
download | UXP-0ddd00f1959c78ce37c14fef3c83401408fca3bf.tar UXP-0ddd00f1959c78ce37c14fef3c83401408fca3bf.tar.gz UXP-0ddd00f1959c78ce37c14fef3c83401408fca3bf.tar.lz UXP-0ddd00f1959c78ce37c14fef3c83401408fca3bf.tar.xz UXP-0ddd00f1959c78ce37c14fef3c83401408fca3bf.zip |
Issue #439 - Remove tests from toolkit/
Diffstat (limited to 'toolkit/components/places/tests/unit/test_history_observer.js')
-rw-r--r-- | toolkit/components/places/tests/unit/test_history_observer.js | 215 |
1 files changed, 0 insertions, 215 deletions
diff --git a/toolkit/components/places/tests/unit/test_history_observer.js b/toolkit/components/places/tests/unit/test_history_observer.js deleted file mode 100644 index c101cfb61..000000000 --- a/toolkit/components/places/tests/unit/test_history_observer.js +++ /dev/null @@ -1,215 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ - -/** - * Generic nsINavHistoryObserver that doesn't implement anything, but provides - * dummy methods to prevent errors about an object not having a certain method. - */ -function NavHistoryObserver() { -} -NavHistoryObserver.prototype = { - onBeginUpdateBatch: function() { }, - onEndUpdateBatch: function() { }, - onVisit: function() { }, - onTitleChanged: function() { }, - onDeleteURI: function() { }, - onClearHistory: function() { }, - onPageChanged: function() { }, - onDeleteVisits: function() { }, - QueryInterface: XPCOMUtils.generateQI([Ci.nsINavHistoryObserver]) -}; - -/** - * Registers a one-time history observer for and calls the callback - * when the specified nsINavHistoryObserver method is called. - * Returns a promise that is resolved when the callback returns. - */ -function onNotify(callback) { - return new Promise(resolve => { - let obs = new NavHistoryObserver(); - obs[callback.name] = function () { - PlacesUtils.history.removeObserver(this); - callback.apply(this, arguments); - resolve(); - }; - PlacesUtils.history.addObserver(obs, false); - }); -} - -/** - * Asynchronous task that adds a visit to the history database. - */ -function* task_add_visit(uri, timestamp, transition) { - uri = uri || NetUtil.newURI("http://firefox.com/"); - timestamp = timestamp || Date.now() * 1000; - yield PlacesTestUtils.addVisits({ - uri: uri, - transition: transition || TRANSITION_TYPED, - visitDate: timestamp - }); - return [uri, timestamp]; -} - -add_task(function* test_onVisit() { - let promiseNotify = onNotify(function onVisit(aURI, aVisitID, aTime, - aSessionID, aReferringID, - aTransitionType, aGUID, - aHidden, aVisitCount, aTyped) { - Assert.ok(aURI.equals(testuri)); - Assert.ok(aVisitID > 0); - Assert.equal(aTime, testtime); - Assert.equal(aSessionID, 0); - Assert.equal(aReferringID, 0); - Assert.equal(aTransitionType, TRANSITION_TYPED); - do_check_guid_for_uri(aURI, aGUID); - Assert.ok(!aHidden); - Assert.equal(aVisitCount, 1); - Assert.equal(aTyped, 1); - }); - let testuri = NetUtil.newURI("http://firefox.com/"); - let testtime = Date.now() * 1000; - yield task_add_visit(testuri, testtime); - yield promiseNotify; -}); - -add_task(function* test_onVisit() { - let promiseNotify = onNotify(function onVisit(aURI, aVisitID, aTime, - aSessionID, aReferringID, - aTransitionType, aGUID, - aHidden, aVisitCount, aTyped) { - Assert.ok(aURI.equals(testuri)); - Assert.ok(aVisitID > 0); - Assert.equal(aTime, testtime); - Assert.equal(aSessionID, 0); - Assert.equal(aReferringID, 0); - Assert.equal(aTransitionType, TRANSITION_FRAMED_LINK); - do_check_guid_for_uri(aURI, aGUID); - Assert.ok(aHidden); - Assert.equal(aVisitCount, 1); - Assert.equal(aTyped, 0); - }); - let testuri = NetUtil.newURI("http://hidden.firefox.com/"); - let testtime = Date.now() * 1000; - yield task_add_visit(testuri, testtime, TRANSITION_FRAMED_LINK); - yield promiseNotify; -}); - -add_task(function* test_multiple_onVisit() { - let testuri = NetUtil.newURI("http://self.firefox.com/"); - let promiseNotifications = new Promise(resolve => { - let observer = { - _c: 0, - __proto__: NavHistoryObserver.prototype, - onVisit(uri, id, time, unused, referrerId, transition, guid, - hidden, visitCount, typed) { - Assert.ok(testuri.equals(uri)); - Assert.ok(id > 0); - Assert.ok(time > 0); - Assert.ok(!hidden); - do_check_guid_for_uri(uri, guid); - switch (++this._c) { - case 1: - Assert.equal(referrerId, 0); - Assert.equal(transition, TRANSITION_LINK); - Assert.equal(visitCount, 1); - Assert.equal(typed, 0); - break; - case 2: - Assert.ok(referrerId > 0); - Assert.equal(transition, TRANSITION_LINK); - Assert.equal(visitCount, 2); - Assert.equal(typed, 0); - break; - case 3: - Assert.equal(referrerId, 0); - Assert.equal(transition, TRANSITION_TYPED); - Assert.equal(visitCount, 3); - Assert.equal(typed, 1); - - PlacesUtils.history.removeObserver(observer, false); - resolve(); - break; - } - } - }; - PlacesUtils.history.addObserver(observer, false); - }); - yield PlacesTestUtils.addVisits([ - { uri: testuri, transition: TRANSITION_LINK }, - { uri: testuri, referrer: testuri, transition: TRANSITION_LINK }, - { uri: testuri, transition: TRANSITION_TYPED }, - ]); - yield promiseNotifications; -}); - -add_task(function* test_onDeleteURI() { - let promiseNotify = onNotify(function onDeleteURI(aURI, aGUID, aReason) { - Assert.ok(aURI.equals(testuri)); - // Can't use do_check_guid_for_uri() here because the visit is already gone. - Assert.equal(aGUID, testguid); - Assert.equal(aReason, Ci.nsINavHistoryObserver.REASON_DELETED); - }); - let [testuri] = yield task_add_visit(); - let testguid = do_get_guid_for_uri(testuri); - PlacesUtils.bhistory.removePage(testuri); - yield promiseNotify; -}); - -add_task(function* test_onDeleteVisits() { - let promiseNotify = onNotify(function onDeleteVisits(aURI, aVisitTime, aGUID, - aReason) { - Assert.ok(aURI.equals(testuri)); - // Can't use do_check_guid_for_uri() here because the visit is already gone. - Assert.equal(aGUID, testguid); - Assert.equal(aReason, Ci.nsINavHistoryObserver.REASON_DELETED); - Assert.equal(aVisitTime, 0); // All visits have been removed. - }); - let msecs24hrsAgo = Date.now() - (86400 * 1000); - let [testuri] = yield task_add_visit(undefined, msecs24hrsAgo * 1000); - // Add a bookmark so the page is not removed. - PlacesUtils.bookmarks.insertBookmark(PlacesUtils.unfiledBookmarksFolderId, - testuri, - PlacesUtils.bookmarks.DEFAULT_INDEX, - "test"); - let testguid = do_get_guid_for_uri(testuri); - PlacesUtils.bhistory.removePage(testuri); - yield promiseNotify; -}); - -add_task(function* test_onTitleChanged() { - let promiseNotify = onNotify(function onTitleChanged(aURI, aTitle, aGUID) { - Assert.ok(aURI.equals(testuri)); - Assert.equal(aTitle, title); - do_check_guid_for_uri(aURI, aGUID); - }); - - let [testuri] = yield task_add_visit(); - let title = "test-title"; - yield PlacesTestUtils.addVisits({ - uri: testuri, - title: title - }); - yield promiseNotify; -}); - -add_task(function* test_onPageChanged() { - let promiseNotify = onNotify(function onPageChanged(aURI, aChangedAttribute, - aNewValue, aGUID) { - Assert.equal(aChangedAttribute, Ci.nsINavHistoryObserver.ATTRIBUTE_FAVICON); - Assert.ok(aURI.equals(testuri)); - Assert.equal(aNewValue, SMALLPNG_DATA_URI.spec); - do_check_guid_for_uri(aURI, aGUID); - }); - - let [testuri] = yield task_add_visit(); - - // The new favicon for the page must have data associated with it in order to - // receive the onPageChanged notification. To keep this test self-contained, - // we use an URI representing the smallest possible PNG file. - PlacesUtils.favicons.setAndFetchFaviconForPage(testuri, SMALLPNG_DATA_URI, - false, - PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, - null, - Services.scriptSecurityManager.getSystemPrincipal()); - yield promiseNotify; -}); |