diff options
Diffstat (limited to 'addon-sdk/source/test/addons/places/lib/test-places-favicon.js')
-rw-r--r-- | addon-sdk/source/test/addons/places/lib/test-places-favicon.js | 242 |
1 files changed, 0 insertions, 242 deletions
diff --git a/addon-sdk/source/test/addons/places/lib/test-places-favicon.js b/addon-sdk/source/test/addons/places/lib/test-places-favicon.js deleted file mode 100644 index 669c66e64..000000000 --- a/addon-sdk/source/test/addons/places/lib/test-places-favicon.js +++ /dev/null @@ -1,242 +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/. */ - -'use strict'; - -module.metadata = { - 'engines': { - 'Firefox': '*' - } -}; - -const { Cc, Ci, Cu } = require('chrome'); -const { getFavicon } = require('sdk/places/favicon'); -const tabs = require('sdk/tabs'); -const open = tabs.open; -const port = 8099; -const host = 'http://localhost:' + port; -const { onFaviconChange, serve, binFavicon } = require('./favicon-helpers'); -const { once } = require('sdk/system/events'); -const { resetPlaces } = require('./places-helper'); -const faviconService = Cc["@mozilla.org/browser/favicon-service;1"]. - getService(Ci.nsIFaviconService); - -exports.testStringGetFaviconCallbackSuccess = function*(assert) { - let name = 'callbacksuccess' - let srv = yield makeServer(name); - let url = host + '/' + name + '.html'; - let favicon = host + '/' + name + '.ico'; - let tab; - - let wait = new Promise(resolve => { - onFaviconChange(url).then((faviconUrl) => { - getFavicon(url, (url) => { - assert.equal(favicon, url, 'Callback returns correct favicon url'); - resolve(); - }); - }); - }); - - assert.pass("Opening tab"); - - open({ - url: url, - onOpen: (newTab) => tab = newTab, - inBackground: true - }); - - yield wait; - - assert.pass("Complete"); - - yield complete(tab, srv); -}; - -exports.testStringGetFaviconCallbackFailure = function*(assert) { - let name = 'callbackfailure'; - let srv = yield makeServer(name); - let url = host + '/' + name + '.html'; - let tab; - - let wait = waitAndExpire(url); - - assert.pass("Opening tab"); - - open({ - url: url, - onOpen: (newTab) => tab = newTab, - inBackground: true - }); - - yield wait; - - assert.pass("Getting favicon"); - - yield new Promise(resolve => { - getFavicon(url, (url) => { - assert.equal(url, null, 'Callback returns null'); - resolve(); - }); - }); - - assert.pass("Complete"); - - yield complete(tab, srv); -}; - -exports.testStringGetFaviconPromiseSuccess = function*(assert) { - let name = 'promisesuccess' - let srv = yield makeServer(name); - let url = host + '/' + name + '.html'; - let favicon = host + '/' + name + '.ico'; - let tab; - - let wait = onFaviconChange(url); - - assert.pass("Opening tab"); - - open({ - url: url, - onOpen: (newTab) => tab = newTab, - inBackground: true - }); - - yield wait; - - assert.pass("Getting favicon"); - - yield getFavicon(url).then((url) => { - assert.equal(url, favicon, 'Callback returns null'); - }, () => { - assert.fail('Reject should not be called'); - }); - - assert.pass("Complete"); - - yield complete(tab, srv); -}; - -exports.testStringGetFaviconPromiseFailure = function*(assert) { - let name = 'promisefailure' - let srv = yield makeServer(name); - let url = host + '/' + name + '.html'; - let tab; - - let wait = waitAndExpire(url); - - assert.pass("Opening tab"); - - open({ - url: url, - onOpen: (newTab) => tab = newTab, - inBackground: true - }); - - yield wait; - - assert.pass("Getting favicon"); - - yield getFavicon(url).then(invalidResolve(assert), validReject(assert, 'expired url')); - - assert.pass("Complete"); - - yield complete(tab, srv); -}; - -exports.testTabsGetFaviconPromiseSuccess = function*(assert) { - let name = 'tabs-success' - let srv = yield makeServer(name); - let url = host + '/' + name + '.html'; - let favicon = host + '/' + name + '.ico'; - let tab; - - let iconPromise = onFaviconChange(url); - - assert.pass("Opening tab"); - - open({ - url: url, - onOpen: (newTab) => tab = newTab, - inBackground: true - }); - - yield iconPromise; - - assert.pass("Getting favicon"); - - yield getFavicon(tab).then((url) => { - assert.equal(url, favicon, "getFavicon should return url for tab"); - }); - - assert.pass("Complete"); - - yield complete(tab, srv); -}; - - -exports.testTabsGetFaviconPromiseFailure = function*(assert) { - let name = 'tabs-failure' - let srv = yield makeServer(name); - let url = host + '/' + name + '.html'; - let tab; - - let wait = waitAndExpire(url); - - assert.pass("Opening tab"); - - open({ - url: url, - onOpen: (newTab) => tab = newTab, - inBackground: true - }); - - yield wait; - - assert.pass("Getting favicon"); - - yield getFavicon(tab).then(invalidResolve(assert), validReject(assert, 'expired tab')); - - assert.pass("Complete"); - - yield complete(tab, srv); -}; - -exports.testRejects = function*(assert) { - yield getFavicon({}) - .then(invalidResolve(assert), validReject(assert, 'Object')); - - yield getFavicon(null) - .then(invalidResolve(assert), validReject(assert, 'null')); - - yield getFavicon(undefined) - .then(invalidResolve(assert), validReject(assert, 'undefined')); - - yield getFavicon([]) - .then(invalidResolve(assert), validReject(assert, 'Array')); -}; - -var invalidResolve = (assert) => () => assert.fail('Promise should not be resolved successfully'); -var validReject = (assert, name) => () => assert.pass(name + ' correctly rejected'); - -var makeServer = (name) => serve({ - name: name, - favicon: binFavicon, - port: port, - host: host -}); - -var waitAndExpire = (url) => new Promise(resolve => { - onFaviconChange(url).then(() => { - once('places-favicons-expired', resolve); - faviconService.expireAllFavicons(); - }); -}); - -var complete = (tab, srv) => new Promise(resolve => { - tab.close(() => { - resetPlaces(() => { - srv.stop(resolve); - }); - }); -}); |