summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/test/addons/places/lib/test-places-favicon.js
diff options
context:
space:
mode:
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.js242
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);
- });
- });
-});