From d252be35efd8b47d1e088e5366a52f2964c42fc1 Mon Sep 17 00:00:00 2001 From: Julia Date: Tue, 18 Dec 2018 20:38:43 +0000 Subject: [PATCH] Bug 1508991 - Enable ESLint for dom/manifest/ (automatic changes) r=Standard8,Ehsan Differential Revision: https://phabricator.services.mozilla.com/D13207 --HG-- extra : moz-landing-system : lando --- dom/manifest/ImageObjectProcessor.jsm | 74 ++++----- dom/manifest/Manifest.jsm | 10 +- dom/manifest/ManifestFinder.jsm | 6 +- dom/manifest/ManifestIcons.jsm | 4 +- dom/manifest/ManifestObtainer.jsm | 12 +- dom/manifest/ManifestProcessor.jsm | 154 +++++++++--------- dom/manifest/ValueExtractor.jsm | 16 +- ...r_ManifestFinder_browserHasManifestLink.js | 4 +- .../browser_ManifestIcons_browserFetchIcon.js | 16 +- .../test/browser_ManifestObtainer_obtain.js | 54 +++--- dom/manifest/test/browser_Manifest_install.js | 4 +- .../test/browser_fire_appinstalled_event.js | 6 +- dom/manifest/test/common.js | 22 +-- .../test/file_reg_appinstalled_event.html | 2 +- .../test/test_ImageObjectProcessor_sizes.html | 60 +++---- .../test/test_ImageObjectProcessor_src.html | 54 +++--- .../test/test_ImageObjectProcessor_type.html | 28 ++-- .../test/test_ManifestProcessor_JSON.html | 4 +- ...st_ManifestProcessor_background_color.html | 122 +++++++------- .../test/test_ManifestProcessor_dir.html | 22 +-- .../test/test_ManifestProcessor_display.html | 50 +++--- .../test/test_ManifestProcessor_icons.html | 4 +- .../test/test_ManifestProcessor_lang.html | 78 ++++----- ...ManifestProcessor_name_and_short_name.html | 16 +- .../test_ManifestProcessor_orientation.html | 62 +++---- .../test/test_ManifestProcessor_scope.html | 54 +++--- .../test_ManifestProcessor_start_url.html | 20 +-- .../test_ManifestProcessor_theme_color.html | 122 +++++++------- .../test/test_ManifestProcessor_warnings.html | 40 ++--- 29 files changed, 560 insertions(+), 560 deletions(-) diff --git a/dom/manifest/ImageObjectProcessor.jsm b/dom/manifest/ImageObjectProcessor.jsm index fe865d40e256..19bddbd2d7f8 100644 --- a/dom/manifest/ImageObjectProcessor.jsm +++ b/dom/manifest/ImageObjectProcessor.jsm @@ -17,19 +17,19 @@ * .process(aManifest, aBaseURL, aMemberName); * */ -/*exported EXPORTED_SYMBOLS*/ -/*globals Components */ -'use strict'; +/* exported EXPORTED_SYMBOLS*/ +/* globals Components */ +"use strict"; const { utils: Cu, interfaces: Ci, - classes: Cc + classes: Cc, } = Components; ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); -XPCOMUtils.defineLazyGlobalGetters(this, ['URL']); -const netutil = Cc['@mozilla.org/network/util;1'] +XPCOMUtils.defineLazyGlobalGetters(this, ["URL"]); +const netutil = Cc["@mozilla.org/network/util;1"] .getService(Ci.nsINetUtil); function ImageObjectProcessor(aConsole, aExtractor) { @@ -39,27 +39,27 @@ function ImageObjectProcessor(aConsole, aExtractor) { // Static getters Object.defineProperties(ImageObjectProcessor, { - 'decimals': { - get: function() { + "decimals": { + get() { return /^\d+$/; - } + }, + }, + "anyRegEx": { + get() { + return new RegExp("any", "i"); + }, }, - 'anyRegEx': { - get: function() { - return new RegExp('any', 'i'); - } - } }); ImageObjectProcessor.prototype.process = function( aManifest, aBaseURL, aMemberName ) { const spec = { - objectName: 'manifest', + objectName: "manifest", object: aManifest, property: aMemberName, - expectedType: 'array', - trim: false + expectedType: "array", + trim: false, }; const extractor = this.extractor; const images = []; @@ -74,9 +74,9 @@ ImageObjectProcessor.prototype.process = function( function toImageObject(aImageSpec) { return { - 'src': processSrcMember(aImageSpec, aBaseURL), - 'type': processTypeMember(aImageSpec), - 'sizes': processSizesMember(aImageSpec), + "src": processSrcMember(aImageSpec, aBaseURL), + "type": processTypeMember(aImageSpec), + "sizes": processSizesMember(aImageSpec), }; } @@ -84,11 +84,11 @@ ImageObjectProcessor.prototype.process = function( const charset = {}; const hadCharset = {}; const spec = { - objectName: 'image', + objectName: "image", object: aImage, - property: 'type', - expectedType: 'string', - trim: true + property: "type", + expectedType: "string", + trim: true, }; let value = extractor.extractValue(spec); if (value) { @@ -99,11 +99,11 @@ ImageObjectProcessor.prototype.process = function( function processSrcMember(aImage, aBaseURL) { const spec = { - objectName: 'image', + objectName: "image", object: aImage, - property: 'src', - expectedType: 'string', - trim: false + property: "src", + expectedType: "string", + trim: false, }; const value = extractor.extractValue(spec); let url; @@ -118,11 +118,11 @@ ImageObjectProcessor.prototype.process = function( function processSizesMember(aImage) { const sizes = new Set(); const spec = { - objectName: 'image', + objectName: "image", object: aImage, - property: 'sizes', - expectedType: 'string', - trim: true + property: "sizes", + expectedType: "string", + trim: true, }; const value = extractor.extractValue(spec); if (value) { @@ -138,17 +138,17 @@ ImageObjectProcessor.prototype.process = function( if (ImageObjectProcessor.anyRegEx.test(aSize)) { return true; } - if (!size.includes('x') || size.indexOf('x') !== size.lastIndexOf('x')) { + if (!size.includes("x") || size.indexOf("x") !== size.lastIndexOf("x")) { return false; } // Split left of x for width, after x for height. - const widthAndHeight = size.split('x'); + const widthAndHeight = size.split("x"); const w = widthAndHeight.shift(); - const h = widthAndHeight.join('x'); - const validStarts = !w.startsWith('0') && !h.startsWith('0'); + const h = widthAndHeight.join("x"); + const validStarts = !w.startsWith("0") && !h.startsWith("0"); const validDecimals = ImageObjectProcessor.decimals.test(w + h); return (validStarts && validDecimals); } } }; -var EXPORTED_SYMBOLS = ['ImageObjectProcessor']; // jshint ignore:line +var EXPORTED_SYMBOLS = ["ImageObjectProcessor"]; // jshint ignore:line diff --git a/dom/manifest/Manifest.jsm b/dom/manifest/Manifest.jsm index c37e288b8f36..a21a7e2f2054 100644 --- a/dom/manifest/Manifest.jsm +++ b/dom/manifest/Manifest.jsm @@ -81,7 +81,7 @@ class Manifest { const data = { installed: false, manifest: manifestData, - cached_icon: icon + cached_icon: icon, }; return data; } @@ -90,14 +90,14 @@ class Manifest { const manifestData = await ManifestObtainer.browserObtainManifest(this._browser); this._store.data = { installed: true, - manifest: manifestData + manifest: manifestData, }; Manifests.manifestInstalled(this); this._store.saveSoon(); } async icon(expectedSize) { - if ('cached_icon' in this._store.data) { + if ("cached_icon" in this._store.data) { return this._store.data.cached_icon; } const icon = await ManifestIcons @@ -142,7 +142,7 @@ class Manifest { */ var Manifests = { - async initialise () { + async initialise() { if (this.started) { return this.started; @@ -219,7 +219,7 @@ var Manifests = { this.manifestObjs[manifestUrl] = new Manifest(browser, manifestUrl); await this.manifestObjs[manifestUrl].initialise(); return this.manifestObjs[manifestUrl]; - } + }, }; diff --git a/dom/manifest/ManifestFinder.jsm b/dom/manifest/ManifestFinder.jsm index d7938503797f..1b2087c99cb0 100644 --- a/dom/manifest/ManifestFinder.jsm +++ b/dom/manifest/ManifestFinder.jsm @@ -4,7 +4,7 @@ /* globals Components, Task, PromiseMessage */ "use strict"; const { - utils: Cu + utils: Cu, } = Components; ChromeUtils.import("resource://gre/modules/PromiseMessage.jsm"); @@ -36,7 +36,7 @@ var ManifestFinder = {// jshint ignore:line const mm = aBrowser.messageManager; const reply = await PromiseMessage.send(mm, msgKey); return reply.data.result; - } + }, }; function isXULBrowser(aBrowser) { @@ -61,5 +61,5 @@ function checkForManifest(aWindow) { } var EXPORTED_SYMBOLS = [// jshint ignore:line - "ManifestFinder" + "ManifestFinder", ]; diff --git a/dom/manifest/ManifestIcons.jsm b/dom/manifest/ManifestIcons.jsm index 3489aa8c179a..fc183526f162 100644 --- a/dom/manifest/ManifestIcons.jsm +++ b/dom/manifest/ManifestIcons.jsm @@ -3,7 +3,7 @@ const { utils: Cu, classes: Cc, - interfaces: Ci + interfaces: Ci, } = Components; ChromeUtils.import("resource://gre/modules/PromiseMessage.jsm"); @@ -23,7 +23,7 @@ var ManifestIcons = { async contentFetchIcon(aWindow, manifest, iconSize) { return await getIcon(aWindow, toIconArray(manifest.icons), iconSize); - } + }, }; function parseIconSize(size) { diff --git a/dom/manifest/ManifestObtainer.jsm b/dom/manifest/ManifestObtainer.jsm index e91c72a05a55..392de99cc18b 100644 --- a/dom/manifest/ManifestObtainer.jsm +++ b/dom/manifest/ManifestObtainer.jsm @@ -23,17 +23,17 @@ * * exported ManifestObtainer */ -/*globals Components, Task, PromiseMessage, XPCOMUtils, ManifestProcessor, BrowserUtils*/ +/* globals Components, Task, PromiseMessage, XPCOMUtils, ManifestProcessor, BrowserUtils*/ "use strict"; const { utils: Cu, classes: Cc, - interfaces: Ci + interfaces: Ci, } = Components; ChromeUtils.import("resource://gre/modules/PromiseMessage.jsm"); ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); ChromeUtils.import("resource://gre/modules/ManifestProcessor.jsm"); -ChromeUtils.defineModuleGetter(this, "BrowserUtils", // jshint ignore:line +ChromeUtils.defineModuleGetter(this, "BrowserUtils", // jshint ignore:line "resource://gre/modules/BrowserUtils.jsm"); var ManifestObtainer = { // jshint ignore:line @@ -72,7 +72,7 @@ var ManifestObtainer = { // jshint ignore:line throw err; } return manifest; - } + }, }; function toError(aErrorClone) { @@ -115,7 +115,7 @@ const processResponse = async function(aResp, aContentWindow) { const args = { jsonText: text, manifestURL: aResp.url, - docURL: aContentWindow.location.href + docURL: aContentWindow.location.href, }; const manifest = ManifestProcessor.process(args); return manifest; @@ -139,7 +139,7 @@ const fetchManifest = async function(aWindow) { // Throws on malformed URLs const manifestURL = new aWindow.URL(elem.href, elem.baseURI); const reqInit = { - mode: "cors" + mode: "cors", }; if (elem.crossOrigin === "use-credentials") { reqInit.credentials = "include"; diff --git a/dom/manifest/ManifestProcessor.jsm b/dom/manifest/ManifestProcessor.jsm index 056d29e18fec..0f14818f05f1 100644 --- a/dom/manifest/ManifestProcessor.jsm +++ b/dom/manifest/ManifestProcessor.jsm @@ -19,33 +19,33 @@ * TODO: The constructor should accept the UA's supported display modes. * TODO: hook up developer tools to console. (1086997). */ -/*globals Components, ValueExtractor, ImageObjectProcessor, ConsoleAPI*/ -'use strict'; +/* globals Components, ValueExtractor, ImageObjectProcessor, ConsoleAPI*/ +"use strict"; const { - utils: Cu + utils: Cu, } = Components; ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); -XPCOMUtils.defineLazyGlobalGetters(this, ['URL']); -const displayModes = new Set(['fullscreen', 'standalone', 'minimal-ui', - 'browser' +XPCOMUtils.defineLazyGlobalGetters(this, ["URL"]); +const displayModes = new Set(["fullscreen", "standalone", "minimal-ui", + "browser", ]); -const orientationTypes = new Set(['any', 'natural', 'landscape', 'portrait', - 'portrait-primary', 'portrait-secondary', 'landscape-primary', - 'landscape-secondary' +const orientationTypes = new Set(["any", "natural", "landscape", "portrait", + "portrait-primary", "portrait-secondary", "landscape-primary", + "landscape-secondary", ]); -const textDirections = new Set(['ltr', 'rtl', 'auto']); +const textDirections = new Set(["ltr", "rtl", "auto"]); -ChromeUtils.import('resource://gre/modules/Console.jsm'); +ChromeUtils.import("resource://gre/modules/Console.jsm"); ChromeUtils.import("resource://gre/modules/Services.jsm"); // ValueExtractor is used by the various processors to get values // from the manifest and to report errors. -ChromeUtils.import('resource://gre/modules/ValueExtractor.jsm'); +ChromeUtils.import("resource://gre/modules/ValueExtractor.jsm"); // ImageObjectProcessor is used to process things like icons and images -ChromeUtils.import('resource://gre/modules/ImageObjectProcessor.jsm'); +ChromeUtils.import("resource://gre/modules/ImageObjectProcessor.jsm"); var ManifestProcessor = { // jshint ignore:line get defaultDisplayMode() { - return 'browser'; + return "browser"; }, get displayModes() { return displayModes; @@ -65,12 +65,12 @@ var ManifestProcessor = { // jshint ignore:line process({ jsonText, manifestURL: aManifestURL, - docURL: aDocURL + docURL: aDocURL, }) { const domBundle = Services.strings.createBundle("chrome://global/locale/dom/dom.properties"); const console = new ConsoleAPI({ - prefix: 'Web Manifest' + prefix: "Web Manifest", }); const manifestURL = new URL(aManifestURL); const docURL = new URL(aDocURL); @@ -78,73 +78,73 @@ var ManifestProcessor = { // jshint ignore:line try { rawManifest = JSON.parse(jsonText); } catch (e) {} - if (typeof rawManifest !== 'object' || rawManifest === null) { - console.warn(domBundle.GetStringFromName('ManifestShouldBeObject')); + if (typeof rawManifest !== "object" || rawManifest === null) { + console.warn(domBundle.GetStringFromName("ManifestShouldBeObject")); rawManifest = {}; } const extractor = new ValueExtractor(console, domBundle); const imgObjProcessor = new ImageObjectProcessor(console, extractor); const processedManifest = { - 'dir': processDirMember.call(this), - 'lang': processLangMember(), - 'start_url': processStartURLMember(), - 'display': processDisplayMember.call(this), - 'orientation': processOrientationMember.call(this), - 'name': processNameMember(), - 'icons': imgObjProcessor.process( - rawManifest, manifestURL, 'icons' + "dir": processDirMember.call(this), + "lang": processLangMember(), + "start_url": processStartURLMember(), + "display": processDisplayMember.call(this), + "orientation": processOrientationMember.call(this), + "name": processNameMember(), + "icons": imgObjProcessor.process( + rawManifest, manifestURL, "icons" ), - 'short_name': processShortNameMember(), - 'theme_color': processThemeColorMember(), - 'background_color': processBackgroundColorMember(), + "short_name": processShortNameMember(), + "theme_color": processThemeColorMember(), + "background_color": processBackgroundColorMember(), }; processedManifest.scope = processScopeMember(); return processedManifest; function processDirMember() { const spec = { - objectName: 'manifest', + objectName: "manifest", object: rawManifest, - property: 'dir', - expectedType: 'string', + property: "dir", + expectedType: "string", trim: true, }; const value = extractor.extractValue(spec); if (this.textDirections.has(value)) { return value; } - return 'auto'; + return "auto"; } function processNameMember() { const spec = { - objectName: 'manifest', + objectName: "manifest", object: rawManifest, - property: 'name', - expectedType: 'string', - trim: true + property: "name", + expectedType: "string", + trim: true, }; return extractor.extractValue(spec); } function processShortNameMember() { const spec = { - objectName: 'manifest', + objectName: "manifest", object: rawManifest, - property: 'short_name', - expectedType: 'string', - trim: true + property: "short_name", + expectedType: "string", + trim: true, }; return extractor.extractValue(spec); } function processOrientationMember() { const spec = { - objectName: 'manifest', + objectName: "manifest", object: rawManifest, - property: 'orientation', - expectedType: 'string', - trim: true + property: "orientation", + expectedType: "string", + trim: true, }; const value = extractor.extractValue(spec); if (value && typeof value === "string" && this.orientationTypes.has(value.toLowerCase())) { @@ -155,11 +155,11 @@ var ManifestProcessor = { // jshint ignore:line function processDisplayMember() { const spec = { - objectName: 'manifest', + objectName: "manifest", object: rawManifest, - property: 'display', - expectedType: 'string', - trim: true + property: "display", + expectedType: "string", + trim: true, }; const value = extractor.extractValue(spec); if (value && typeof value === "string" && displayModes.has(value.toLowerCase())) { @@ -170,32 +170,32 @@ var ManifestProcessor = { // jshint ignore:line function processScopeMember() { const spec = { - objectName: 'manifest', + objectName: "manifest", object: rawManifest, - property: 'scope', - expectedType: 'string', - trim: false + property: "scope", + expectedType: "string", + trim: false, }; let scopeURL; const startURL = new URL(processedManifest.start_url); const value = extractor.extractValue(spec); - if (value === undefined || value === '') { + if (value === undefined || value === "") { return undefined; } try { scopeURL = new URL(value, manifestURL); } catch (e) { - console.warn(domBundle.GetStringFromName('ManifestScopeURLInvalid')); + console.warn(domBundle.GetStringFromName("ManifestScopeURLInvalid")); return undefined; } if (scopeURL.origin !== docURL.origin) { - console.warn(domBundle.GetStringFromName('ManifestScopeNotSameOrigin')); + console.warn(domBundle.GetStringFromName("ManifestScopeNotSameOrigin")); return undefined; } // If start URL is not within scope of scope URL: let isSameOrigin = startURL && startURL.origin !== scopeURL.origin; if (isSameOrigin || !startURL.pathname.startsWith(scopeURL.pathname)) { - console.warn(domBundle.GetStringFromName('ManifestStartURLOutsideScope')); + console.warn(domBundle.GetStringFromName("ManifestStartURLOutsideScope")); return undefined; } return scopeURL.href; @@ -203,26 +203,26 @@ var ManifestProcessor = { // jshint ignore:line function processStartURLMember() { const spec = { - objectName: 'manifest', + objectName: "manifest", object: rawManifest, - property: 'start_url', - expectedType: 'string', - trim: false + property: "start_url", + expectedType: "string", + trim: false, }; let result = new URL(docURL).href; const value = extractor.extractValue(spec); - if (value === undefined || value === '') { + if (value === undefined || value === "") { return result; } let potentialResult; try { potentialResult = new URL(value, manifestURL); } catch (e) { - console.warn(domBundle.GetStringFromName('ManifestStartURLInvalid')) + console.warn(domBundle.GetStringFromName("ManifestStartURLInvalid")); return result; } if (potentialResult.origin !== docURL.origin) { - console.warn(domBundle.GetStringFromName('ManifestStartURLShouldBeSameOrigin')); + console.warn(domBundle.GetStringFromName("ManifestStartURLShouldBeSameOrigin")); } else { result = potentialResult.href; } @@ -231,32 +231,32 @@ var ManifestProcessor = { // jshint ignore:line function processThemeColorMember() { const spec = { - objectName: 'manifest', + objectName: "manifest", object: rawManifest, - property: 'theme_color', - expectedType: 'string', - trim: true + property: "theme_color", + expectedType: "string", + trim: true, }; return extractor.extractColorValue(spec); } function processBackgroundColorMember() { const spec = { - objectName: 'manifest', + objectName: "manifest", object: rawManifest, - property: 'background_color', - expectedType: 'string', - trim: true + property: "background_color", + expectedType: "string", + trim: true, }; return extractor.extractColorValue(spec); } function processLangMember() { const spec = { - objectName: 'manifest', + objectName: "manifest", object: rawManifest, - property: 'lang', - expectedType: 'string', trim: true + property: "lang", + expectedType: "string", trim: true, }; let tag = extractor.extractValue(spec); // TODO: Check if tag is structurally valid. @@ -269,6 +269,6 @@ var ManifestProcessor = { // jshint ignore:line // https://github.com/tc39/ecma402/issues/5 return tag; } - } + }, }; -var EXPORTED_SYMBOLS = ['ManifestProcessor']; // jshint ignore:line +var EXPORTED_SYMBOLS = ["ManifestProcessor"]; // jshint ignore:line diff --git a/dom/manifest/ValueExtractor.jsm b/dom/manifest/ValueExtractor.jsm index be3316caa1bd..bd0ba9b1ec0d 100644 --- a/dom/manifest/ValueExtractor.jsm +++ b/dom/manifest/ValueExtractor.jsm @@ -5,12 +5,12 @@ * Helper functions extract values from manifest members * and reports conformance violations. */ -/*globals Components*/ -'use strict'; +/* globals Components*/ +"use strict"; const { classes: Cc, interfaces: Ci, - utils: Cu + utils: Cu, } = Components; ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); @@ -35,9 +35,9 @@ ValueExtractor.prototype = { const value = object[property]; const isArray = Array.isArray(value); // We need to special-case "array", as it's not a JS primitive. - const type = (isArray) ? 'array' : typeof value; + const type = (isArray) ? "array" : typeof value; if (type !== expectedType) { - if (type !== 'undefined') { + if (type !== "undefined") { this.console.warn(this.domBundle.formatStringFromName("ManifestInvalidType", [objectName, property, expectedType], 3)); @@ -45,7 +45,7 @@ ValueExtractor.prototype = { return undefined; } // Trim string and returned undefined if the empty string. - const shouldTrim = expectedType === 'string' && value && trim; + const shouldTrim = expectedType === "string" && value && trim; if (shouldTrim) { return value.trim() || undefined; } @@ -62,6 +62,6 @@ ValueExtractor.prototype = { 2)); } return color; - } + }, }; -var EXPORTED_SYMBOLS = ['ValueExtractor']; // jshint ignore:line +var EXPORTED_SYMBOLS = ["ValueExtractor"]; // jshint ignore:line diff --git a/dom/manifest/test/browser_ManifestFinder_browserHasManifestLink.js b/dom/manifest/test/browser_ManifestFinder_browserHasManifestLink.js index f55b9f97f181..ccc841f52122 100644 --- a/dom/manifest/test/browser_ManifestFinder_browserHasManifestLink.js +++ b/dom/manifest/test/browser_ManifestFinder_browserHasManifestLink.js @@ -1,5 +1,5 @@ -//Used by JSHint: -/*global Cu, BrowserTestUtils, ok, add_task, gBrowser */ +// Used by JSHint: +/* global Cu, BrowserTestUtils, ok, add_task, gBrowser */ "use strict"; const { ManifestFinder } = ChromeUtils.import("resource://gre/modules/ManifestFinder.jsm", {}); const defaultURL = new URL("http://example.org/browser/dom/manifest/test/resource.sjs"); diff --git a/dom/manifest/test/browser_ManifestIcons_browserFetchIcon.js b/dom/manifest/test/browser_ManifestIcons_browserFetchIcon.js index a260f6346324..4600763dae93 100644 --- a/dom/manifest/test/browser_ManifestIcons_browserFetchIcon.js +++ b/dom/manifest/test/browser_ManifestIcons_browserFetchIcon.js @@ -1,5 +1,5 @@ -//Used by JSHint: -/*global Cu, BrowserTestUtils, ok, add_task, gBrowser */ +// Used by JSHint: +/* global Cu, BrowserTestUtils, ok, add_task, gBrowser */ "use strict"; const { ManifestIcons } = ChromeUtils.import("resource://gre/modules/ManifestIcons.jsm", {}); const { ManifestObtainer } = ChromeUtils.import("resource://gre/modules/ManifestObtainer.jsm", {}); @@ -10,11 +10,11 @@ defaultURL.searchParams.set("Content-Type", "application/manifest+json"); const manifest = JSON.stringify({ icons: [{ sizes: "50x50", - src: "red-50.png?Content-type=image/png" + src: "red-50.png?Content-type=image/png", }, { sizes: "150x150", - src: "blue-150.png?Content-type=image/png" - }] + src: "blue-150.png?Content-type=image/png", + }], }); function makeTestURL(manifest) { @@ -27,7 +27,7 @@ function makeTestURL(manifest) { function getIconColor(icon) { return new Promise((resolve, reject) => { - const canvas = content.document.createElement('canvas'); + const canvas = content.document.createElement("canvas"); const ctx = canvas.getContext("2d"); const image = new content.Image(); image.onload = function() { @@ -47,10 +47,10 @@ add_task(async function() { const manifest = await ManifestObtainer.browserObtainManifest(browser); let icon = await ManifestIcons.browserFetchIcon(browser, manifest, 25); let color = await ContentTask.spawn(browser, icon, getIconColor); - is(color[0], 255, 'Fetched red icon'); + is(color[0], 255, "Fetched red icon"); icon = await ManifestIcons.browserFetchIcon(browser, manifest, 500); color = await ContentTask.spawn(browser, icon, getIconColor); - is(color[2], 255, 'Fetched blue icon'); + is(color[2], 255, "Fetched blue icon"); }); }); diff --git a/dom/manifest/test/browser_ManifestObtainer_obtain.js b/dom/manifest/test/browser_ManifestObtainer_obtain.js index 30f3aa322c47..4310493c8f8d 100644 --- a/dom/manifest/test/browser_ManifestObtainer_obtain.js +++ b/dom/manifest/test/browser_ManifestObtainer_obtain.js @@ -1,10 +1,10 @@ -//Used by JSHint: -/*global ok, is, Cu, BrowserTestUtils, add_task, gBrowser, makeTestURL, requestLongerTimeout*/ -'use strict'; -const { ManifestObtainer } = ChromeUtils.import('resource://gre/modules/ManifestObtainer.jsm', {}); -const remoteURL = 'http://mochi.test:8888/browser/dom/manifest/test/resource.sjs'; -const defaultURL = new URL('http://example.org/browser/dom/manifest/test/resource.sjs'); -defaultURL.searchParams.set('Content-Type', 'text/html; charset=utf-8'); +// Used by JSHint: +/* global ok, is, Cu, BrowserTestUtils, add_task, gBrowser, makeTestURL, requestLongerTimeout*/ +"use strict"; +const { ManifestObtainer } = ChromeUtils.import("resource://gre/modules/ManifestObtainer.jsm", {}); +const remoteURL = "http://mochi.test:8888/browser/dom/manifest/test/resource.sjs"; +const defaultURL = new URL("http://example.org/browser/dom/manifest/test/resource.sjs"); +defaultURL.searchParams.set("Content-Type", "text/html; charset=utf-8"); requestLongerTimeout(4); const tests = [ @@ -15,20 +15,20 @@ const tests = [ `, run(manifest) { - is(manifest.name, 'pass-1', 'Manifest is first `link` where @rel contains token manifest.'); - } + is(manifest.name, "pass-1", "Manifest is first `link` where @rel contains token manifest."); + }, }, { body: ` `, run(manifest) { - is(manifest.name, 'pass-2', 'Manifest is first `link` where @rel contains token manifest.'); + is(manifest.name, "pass-2", "Manifest is first `link` where @rel contains token manifest."); }, }, { body: ``, run(err) { - is(err.name, 'TypeError', 'By default, manifest cannot load cross-origin.'); + is(err.name, "TypeError", "By default, manifest cannot load cross-origin."); }, }, // CORS Tests. @@ -45,12 +45,12 @@ const tests = [ return link; }, run(manifest) { - is(manifest.name, 'pass-4', 'CORS enabled, manifest must be fetched.'); + is(manifest.name, "pass-4", "CORS enabled, manifest must be fetched."); }, }, { get body() { const body = 'body={"name": "fail"}'; - const CORS = 'Access-Control-Allow-Origin=http://not-here'; + const CORS = "Access-Control-Allow-Origin=http://not-here"; const link = ``, run(err) { - is(err.name, 'TypeError', 'Trying to load from about:whatever is TypeError.'); + is(err.name, "TypeError", "Trying to load from about:whatever is TypeError."); }, }, { body: ``, run(err) { - is(err.name, 'TypeError', 'Trying to load from file://whatever is a TypeError.'); + is(err.name, "TypeError", "Trying to load from file://whatever is a TypeError."); }, }, - //URL parsing tests + // URL parsing tests { body: ``, run(err) { - is(err.name, 'TypeError', 'Trying to load invalid URL is a TypeError.'); + is(err.name, "TypeError", "Trying to load invalid URL is a TypeError."); }, }, ]; function makeTestURL({ body }) { const url = new URL(defaultURL); - url.searchParams.set('body', encodeURIComponent(body)); + url.searchParams.set("body", encodeURIComponent(body)); return url.href; } @@ -92,7 +92,7 @@ add_task(async function() { .map(test => ({ gBrowser, testRunner: testObtainingManifest(test), - url: makeTestURL(test) + url: makeTestURL(test), })) .reduce((collector, tabOpts) => { const promise = BrowserTestUtils.withNewTab(tabOpts, tabOpts.testRunner); @@ -120,7 +120,7 @@ add_task(async function() { * in each tab. They should all return pass. */ add_task(async function() { - const defaultPath = '/browser/dom/manifest/test/manifestLoader.html'; + const defaultPath = "/browser/dom/manifest/test/manifestLoader.html"; const tabURLs = [ `http://example.com:80${defaultPath}`, `http://example.org:80${defaultPath}`, @@ -155,26 +155,26 @@ add_task(async function() { let browsers = tabURLs.map(url => BrowserTestUtils.addTab(gBrowser, url).linkedBrowser); // Once all the pages have loaded, run a bunch of tests in "parallel". - await Promise.all((function*() { + await Promise.all((function* () { for (let browser of browsers) { yield BrowserTestUtils.browserLoaded(browser); } })()); // Flood random browsers with requests. Once promises settle, check that // responses all pass. - const results = await Promise.all((function*() { + const results = await Promise.all((function* () { for (let browser of randBrowsers(browsers, 50)) { yield ManifestObtainer.browserObtainManifest(browser); } })()); - const pass = results.every(manifest => manifest.name === 'pass'); - ok(pass, 'Expect every manifest to have name equal to `pass`.'); - //cleanup + const pass = results.every(manifest => manifest.name === "pass"); + ok(pass, "Expect every manifest to have name equal to `pass`."); + // cleanup browsers .map(browser => gBrowser.getTabForBrowser(browser)) .forEach(tab => gBrowser.removeTab(tab)); - //Helper generator, spits out random browsers + // Helper generator, spits out random browsers function* randBrowsers(aBrowsers, aMax) { for (let i = 0; i < aMax; i++) { const randNum = Math.round(Math.random() * (aBrowsers.length - 1)); diff --git a/dom/manifest/test/browser_Manifest_install.js b/dom/manifest/test/browser_Manifest_install.js index 93090b0f1c70..cead969a4527 100644 --- a/dom/manifest/test/browser_Manifest_install.js +++ b/dom/manifest/test/browser_Manifest_install.js @@ -1,5 +1,5 @@ -//Used by JSHint: -/*global Cu, BrowserTestUtils, ok, add_task, gBrowser */ +// Used by JSHint: +/* global Cu, BrowserTestUtils, ok, add_task, gBrowser */ "use strict"; const { Manifests } = ChromeUtils.import("resource://gre/modules/Manifest.jsm", {}); diff --git a/dom/manifest/test/browser_fire_appinstalled_event.js b/dom/manifest/test/browser_fire_appinstalled_event.js index bbc380847597..3c8d1cde2e73 100644 --- a/dom/manifest/test/browser_fire_appinstalled_event.js +++ b/dom/manifest/test/browser_fire_appinstalled_event.js @@ -1,5 +1,5 @@ -//Used by JSHint: -/*global Cu, BrowserTestUtils, ok, add_task, gBrowser */ +// Used by JSHint: +/* global Cu, BrowserTestUtils, ok, add_task, gBrowser */ "use strict"; const { PromiseMessage } = ChromeUtils.import("resource://gre/modules/PromiseMessage.jsm", {}); const testPath = "/browser/dom/manifest/test/file_reg_appinstalled_event.html"; @@ -39,7 +39,7 @@ async function theTest(aBrowser) { add_task(async function() { await enableOnAppInstalledPref(); let tabOptions = { - gBrowser: gBrowser, + gBrowser, url: testURL.href, }; await BrowserTestUtils.withNewTab( diff --git a/dom/manifest/test/common.js b/dom/manifest/test/common.js index 4f618be80489..52a92a9f33e2 100644 --- a/dom/manifest/test/common.js +++ b/dom/manifest/test/common.js @@ -1,22 +1,22 @@ /** * Common infrastructure for manifest tests. **/ -/*globals SpecialPowers, ManifestProcessor*/ -'use strict'; +/* globals SpecialPowers, ManifestProcessor*/ +"use strict"; const { - ManifestProcessor -} = SpecialPowers.Cu.import('resource://gre/modules/ManifestProcessor.jsm'); + ManifestProcessor, +} = SpecialPowers.Cu.import("resource://gre/modules/ManifestProcessor.jsm"); const processor = ManifestProcessor; -const manifestURL = new URL(document.location.origin + '/manifest.json'); +const manifestURL = new URL(document.location.origin + "/manifest.json"); const docURL = document.location; -const seperators = '\u2028\u2029\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000'; -const lineTerminators = '\u000D\u000A\u2028\u2029'; +const seperators = "\u2028\u2029\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000"; +const lineTerminators = "\u000D\u000A\u2028\u2029"; const whiteSpace = `${seperators}${lineTerminators}`; const typeTests = [1, null, {}, - [], false + [], false, ]; const data = { - jsonText: '{}', - manifestURL: manifestURL, - docURL: docURL + jsonText: "{}", + manifestURL, + docURL, }; diff --git a/dom/manifest/test/file_reg_appinstalled_event.html b/dom/manifest/test/file_reg_appinstalled_event.html index 80ff15e11c92..52756c9da442 100644 --- a/dom/manifest/test/file_reg_appinstalled_event.html +++ b/dom/manifest/test/file_reg_appinstalled_event.html @@ -7,7 +7,7 @@ window.addEventListener("appinstalled", () => { .innerHTML = "event received!"; // Send a custom event back to the browser // to acknowledge that we got this - const detail = { result: true } + const detail = { result: true }; const ev = new CustomEvent("dom.manifest.onappinstalled", { detail }); document.dispatchEvent(ev); }); diff --git a/dom/manifest/test/test_ImageObjectProcessor_sizes.html b/dom/manifest/test/test_ImageObjectProcessor_sizes.html index 82a8ef991aeb..83c696e6810d 100644 --- a/dom/manifest/test/test_ImageObjectProcessor_sizes.html +++ b/dom/manifest/test/test_ImageObjectProcessor_sizes.html @@ -14,47 +14,47 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1079453 * Image object's sizes member * https://w3c.github.io/manifest/#sizes-member **/ -'use strict'; +"use strict"; var validSizes = [{ - test: '16x16', - expect: ['16x16'] + test: "16x16", + expect: ["16x16"], }, { - test: 'hello 16x16 16x16', - expect: ['16x16'] + test: "hello 16x16 16x16", + expect: ["16x16"], }, { - test: '32x32 16 48x48 12', - expect: ['32x32', '48x48'] + test: "32x32 16 48x48 12", + expect: ["32x32", "48x48"], }, { test: `${whiteSpace}128x128${whiteSpace}512x512 8192x8192 32768x32768${whiteSpace}`, - expect: ['128x128', '512x512', '8192x8192', '32768x32768'] + expect: ["128x128", "512x512", "8192x8192", "32768x32768"], }, { - test: 'any', - expect: ['any'] + test: "any", + expect: ["any"], }, { - test: 'Any', - expect: ['Any'] + test: "Any", + expect: ["Any"], }, { - test: '16x32', - expect: ['16x32'] + test: "16x32", + expect: ["16x32"], }, { - test: '17x33', - expect: ['17x33'] + test: "17x33", + expect: ["17x33"], }, { - test: '32x32 32x32', - expect: ['32x32'] + test: "32x32 32x32", + expect: ["32x32"], }, { - test: '32X32', - expect: ['32X32'] + test: "32X32", + expect: ["32X32"], }, { - test: 'any 32x32', - expect: ['any', '32x32'] + test: "any 32x32", + expect: ["any", "32x32"], }]; var testIcon = { icons: [{ - src: 'test', - sizes: undefined - }] + src: "test", + sizes: undefined, + }], }; validSizes.forEach(({test, expect}) => { @@ -68,14 +68,14 @@ validSizes.forEach(({test, expect}) => { var testIcon = { icons: [{ - src: 'test', - sizes: undefined - }] + src: "test", + sizes: undefined, + }], }; -var invalidSizes = ['invalid', '', ' ', '16 x 16', '32', '21', '16xx16', '16 x x 6']; +var invalidSizes = ["invalid", "", " ", "16 x 16", "32", "21", "16xx16", "16 x x 6"]; invalidSizes.forEach((invalidSize) => { - var expected = 'Expect invalid sizes to return undefined.'; + var expected = "Expect invalid sizes to return undefined."; testIcon.icons[0].sizes = invalidSize; data.jsonText = JSON.stringify(testIcon); var result = processor.process(data); diff --git a/dom/manifest/test/test_ImageObjectProcessor_src.html b/dom/manifest/test/test_ImageObjectProcessor_src.html index cb77af0bddc0..abefb0956212 100644 --- a/dom/manifest/test/test_ImageObjectProcessor_src.html +++ b/dom/manifest/test/test_ImageObjectProcessor_src.html @@ -14,22 +14,22 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1079453 * Image object's src member * https://w3c.github.io/manifest/#src-member **/ -'use strict'; +"use strict"; var noSrc = { icons: [{}, { - src: [] + src: [], }, { - src: {} + src: {}, }, { - src: null + src: null, }, { - type: 'image/jpg' + type: "image/jpg", }, { - sizes: '1x1,2x2' + sizes: "1x1,2x2", }, { - sizes: 'any', - type: 'image/jpg' - }] + sizes: "any", + type: "image/jpg", + }], }; var expected = `Expect icons without a src prop to be filtered out.`; @@ -39,18 +39,18 @@ is(result.icons.length, 0, expected); var invalidSrc = { icons: [{ - src: null + src: null, }, { - src: 1 + src: 1, }, { - src: [] + src: [], }, { - src: {} + src: {}, }, { - src: true + src: true, }, { - src: '' - }] + src: "", + }], }; var expected = `Expect icons with invalid src prop to be filtered out.`; @@ -61,8 +61,8 @@ is(result.icons.length, 0, expected); var expected = `Expect icon's src to be a string.`; var withSrc = { icons: [{ - src: 'pass' - }] + src: "pass", + }], }; data.jsonText = JSON.stringify(withSrc); var result = processor.process(data); @@ -71,32 +71,32 @@ is(typeof result.icons[0].src, "string", expected); var expected = `Expect only icons with a src prop to be kept.`; var withSrc = { icons: [{ - src: 'pass' + src: "pass", }, { - src: 'pass', + src: "pass", }, {}, { - foo: 'foo' - }] + foo: "foo", + }], }; data.jsonText = JSON.stringify(withSrc); var result = processor.process(data); is(result.icons.length, 2, expected); -var expectedURL = new URL('pass', manifestURL); +var expectedURL = new URL("pass", manifestURL); for (var icon of result.icons) { var expected = `Expect src prop to be ${expectedURL.toString()}`; is(icon.src.toString(), expectedURL.toString(), expected); } -//Resolve URLs relative to manfiest -var URLs = ['path', '/path', '../../path']; +// Resolve URLs relative to manfiest +var URLs = ["path", "/path", "../../path"]; URLs.forEach((url) => { var expected = `Resolve icon src URLs relative to manifest.`; data.jsonText = JSON.stringify({ icons: [{ - src: url - }] + src: url, + }], }); var absURL = new URL(url, manifestURL).toString(); var result = processor.process(data); diff --git a/dom/manifest/test/test_ImageObjectProcessor_type.html b/dom/manifest/test/test_ImageObjectProcessor_type.html index d1b95044dee7..f14bbf5ea668 100644 --- a/dom/manifest/test/test_ImageObjectProcessor_type.html +++ b/dom/manifest/test/test_ImageObjectProcessor_type.html @@ -15,20 +15,20 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1079453 * https://w3c.github.io/manifest/#type-member **/ -'use strict'; +"use strict"; var testIcon = { icons: [{ - src: 'test', - type: undefined - }] + src: "test", + type: undefined, + }], }; var invalidMimeTypes = [ - 'application / text', - 'test;test', - ';test?test', - 'application\\text', - 'image/jpeg, image/gif' + "application / text", + "test;test", + ";test?test", + "application\\text", + "image/jpeg, image/gif", ]; invalidMimeTypes.forEach((invalidMime) => { var expected = `Expect invalid mime to be treated like undefined.`; @@ -39,11 +39,11 @@ invalidMimeTypes.forEach((invalidMime) => { }); var validTypes = [ - 'image/jpeg', - 'IMAGE/jPeG', + "image/jpeg", + "IMAGE/jPeG", `${whiteSpace}image/jpeg${whiteSpace}`, - 'image/JPEG; whatever=something', - 'image/JPEG;whatever' + "image/JPEG; whatever=something", + "image/JPEG;whatever", ]; validTypes.forEach((validMime) => { @@ -51,7 +51,7 @@ validTypes.forEach((validMime) => { testIcon.icons[0].type = validMime; data.jsonText = JSON.stringify(testIcon); var result = processor.process(data); - is(result.icons[0].type, 'image/jpeg', expected); + is(result.icons[0].type, "image/jpeg", expected); }); diff --git a/dom/manifest/test/test_ManifestProcessor_JSON.html b/dom/manifest/test/test_ManifestProcessor_JSON.html index 0319445eb9cb..38add6b50656 100644 --- a/dom/manifest/test/test_ManifestProcessor_JSON.html +++ b/dom/manifest/test/test_ManifestProcessor_JSON.html @@ -14,8 +14,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1079453 * JSON parsing/processing tests * https://w3c.github.io/manifest/#processing **/ -'use strict'; -var invalidJson = ['', ` \t \n ${whiteSpace} `, '{', '{[[}']; +"use strict"; +var invalidJson = ["", ` \t \n ${whiteSpace} `, "{", "{[[}"]; invalidJson.forEach((testString) => { var expected = `Expect to recover from invalid JSON: ${testString}`; data.jsonText = testString; diff --git a/dom/manifest/test/test_ManifestProcessor_background_color.html b/dom/manifest/test/test_ManifestProcessor_background_color.html index e7249df4c177..27747eb1510c 100644 --- a/dom/manifest/test/test_ManifestProcessor_background_color.html +++ b/dom/manifest/test/test_ManifestProcessor_background_color.html @@ -14,11 +14,11 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1195018 * background_color member * https://w3c.github.io/manifest/#background_color-member **/ -'use strict'; +"use strict"; typeTests.forEach(type => { data.jsonText = JSON.stringify({ - background_color: type + background_color: type, }); var result = processor.process(data); @@ -26,52 +26,52 @@ typeTests.forEach(type => { }); var validThemeColors = [ - 'maroon', - '#f00', - '#ff0000', - 'rgb(255,0,0)', - 'rgb(255,0,0,1)', - 'rgb(255,0,0,1.0)', - 'rgb(255,0,0,100%)', - 'rgb(255 0 0)', - 'rgb(255 0 0 / 1)', - 'rgb(255 0 0 / 1.0)', - 'rgb(255 0 0 / 100%)', - 'rgb(100%, 0%, 0%)', - 'rgb(100%, 0%, 0%, 1)', - 'rgb(100%, 0%, 0%, 1.0)', - 'rgb(100%, 0%, 0%, 100%)', - 'rgb(100% 0% 0%)', - 'rgb(100% 0% 0% / 1)', - 'rgb(100%, 0%, 0%, 1.0)', - 'rgb(100%, 0%, 0%, 100%)', - 'rgb(300,0,0)', - 'rgb(300 0 0)', - 'rgb(255,-10,0)', - 'rgb(110%, 0%, 0%)', - 'rgba(255,0,0)', - 'rgba(255,0,0,1)', - 'rgba(255 0 0 / 1)', - 'rgba(100%,0%,0%,1)', - 'rgba(0,0,255,0.5)', - 'rgba(100%, 50%, 0%, 0.1)', - 'hsl(120, 100%, 50%)', - 'hsl(120 100% 50%)', - 'hsl(120, 100%, 50%, 1.0)', - 'hsl(120 100% 50% / 1.0)', - 'hsla(120, 100%, 50%)', - 'hsla(120 100% 50%)', - 'hsla(120, 100%, 50%, 1.0)', - 'hsla(120 100% 50% / 1.0)', - 'hsl(120deg, 100%, 50%)', - 'hsl(133.33333333grad, 100%, 50%)', - 'hsl(2.0943951024rad, 100%, 50%)', - 'hsl(0.3333333333turn, 100%, 50%)', + "maroon", + "#f00", + "#ff0000", + "rgb(255,0,0)", + "rgb(255,0,0,1)", + "rgb(255,0,0,1.0)", + "rgb(255,0,0,100%)", + "rgb(255 0 0)", + "rgb(255 0 0 / 1)", + "rgb(255 0 0 / 1.0)", + "rgb(255 0 0 / 100%)", + "rgb(100%, 0%, 0%)", + "rgb(100%, 0%, 0%, 1)", + "rgb(100%, 0%, 0%, 1.0)", + "rgb(100%, 0%, 0%, 100%)", + "rgb(100% 0% 0%)", + "rgb(100% 0% 0% / 1)", + "rgb(100%, 0%, 0%, 1.0)", + "rgb(100%, 0%, 0%, 100%)", + "rgb(300,0,0)", + "rgb(300 0 0)", + "rgb(255,-10,0)", + "rgb(110%, 0%, 0%)", + "rgba(255,0,0)", + "rgba(255,0,0,1)", + "rgba(255 0 0 / 1)", + "rgba(100%,0%,0%,1)", + "rgba(0,0,255,0.5)", + "rgba(100%, 50%, 0%, 0.1)", + "hsl(120, 100%, 50%)", + "hsl(120 100% 50%)", + "hsl(120, 100%, 50%, 1.0)", + "hsl(120 100% 50% / 1.0)", + "hsla(120, 100%, 50%)", + "hsla(120 100% 50%)", + "hsla(120, 100%, 50%, 1.0)", + "hsla(120 100% 50% / 1.0)", + "hsl(120deg, 100%, 50%)", + "hsl(133.33333333grad, 100%, 50%)", + "hsl(2.0943951024rad, 100%, 50%)", + "hsl(0.3333333333turn, 100%, 50%)", ]; validThemeColors.forEach(background_color => { data.jsonText = JSON.stringify({ - background_color: background_color + background_color, }); var result = processor.process(data); @@ -79,25 +79,25 @@ validThemeColors.forEach(background_color => { }); var invalidThemeColors = [ - 'marooon', - 'f000000', - '#ff00000', - 'rgb(100, 0%, 0%)', - 'rgb(255,0)', - 'rbg(255,-10,0)', - 'rgb(110, 0%, 0%)', - '(255,0,0) }', - 'rgba(255)', - ' rgb(100%,0%,0%) }', - 'hsl(120, 100%, 50)', - 'hsl(120, 100%, 50.0)', - 'hsl 120, 100%, 50%', - 'hsla{120, 100%, 50%, 1}', -] + "marooon", + "f000000", + "#ff00000", + "rgb(100, 0%, 0%)", + "rgb(255,0)", + "rbg(255,-10,0)", + "rgb(110, 0%, 0%)", + "(255,0,0) }", + "rgba(255)", + " rgb(100%,0%,0%) }", + "hsl(120, 100%, 50)", + "hsl(120, 100%, 50.0)", + "hsl 120, 100%, 50%", + "hsla{120, 100%, 50%, 1}", +]; invalidThemeColors.forEach(background_color => { data.jsonText = JSON.stringify({ - background_color: background_color + background_color, }); var result = processor.process(data); @@ -108,7 +108,7 @@ invalidThemeColors.forEach(background_color => { validThemeColors.forEach(background_color => { var expandedThemeColor = `${seperators}${lineTerminators}${background_color}${lineTerminators}${seperators}`; data.jsonText = JSON.stringify({ - background_color: expandedThemeColor + background_color: expandedThemeColor, }); var result = processor.process(data); diff --git a/dom/manifest/test/test_ManifestProcessor_dir.html b/dom/manifest/test/test_ManifestProcessor_dir.html index 1978eeca3f4f..880f8a2f8bee 100644 --- a/dom/manifest/test/test_ManifestProcessor_dir.html +++ b/dom/manifest/test/test_ManifestProcessor_dir.html @@ -14,19 +14,19 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1258899 * dir member * https://w3c.github.io/manifest/#dir-member **/ -'use strict'; -//Type checks +"use strict"; +// Type checks typeTests.forEach((type) => { var expected = `Expect non - string dir to default to "auto".`; data.jsonText = JSON.stringify({ - dir: type + dir: type, }); var result = processor.process(data); - is(result.dir, 'auto', expected); + is(result.dir, "auto", expected); }); -/*Test valid values*/ -var validDirs = ['ltr', 'rtl', 'auto'] +/* Test valid values*/ +var validDirs = ["ltr", "rtl", "auto"]; validDirs.forEach((dir) => { var expected = `Expect dir value to be ${dir}.`; data.jsonText = JSON.stringify({dir}); @@ -34,24 +34,24 @@ validDirs.forEach((dir) => { is(result.dir, dir, expected); }); -//trim tests +// trim tests validDirs.forEach((dir) => { var expected = `Expect trimmed dir to be returned.`; var expandeddir = seperators + lineTerminators + dir + lineTerminators + seperators; data.jsonText = JSON.stringify({ - dir: expandeddir + dir: expandeddir, }); var result = processor.process(data); is(result.dir, dir, expected); }); -//Unknown/Invalid directions -var invalidDirs = ['LTR', 'RtL', `fooo${whiteSpace}rtl`, '', 'bar baz, some value', 'ltr rtl auto', 'AuTo']; +// Unknown/Invalid directions +var invalidDirs = ["LTR", "RtL", `fooo${whiteSpace}rtl`, "", "bar baz, some value", "ltr rtl auto", "AuTo"]; invalidDirs.forEach((dir) => { var expected = `Expect default dir "auto" to be returned: '${dir}'`; data.jsonText = JSON.stringify({dir}); var result = processor.process(data); - is(result.dir, 'auto', expected); + is(result.dir, "auto", expected); }); diff --git a/dom/manifest/test/test_ManifestProcessor_display.html b/dom/manifest/test/test_ManifestProcessor_display.html index 10106465a58b..8a0414111813 100644 --- a/dom/manifest/test/test_ManifestProcessor_display.html +++ b/dom/manifest/test/test_ManifestProcessor_display.html @@ -14,65 +14,65 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1079453 * display member * https://w3c.github.io/manifest/#display-member **/ -'use strict'; -//Type checks +"use strict"; +// Type checks typeTests.forEach((type) => { var expected = `Expect non - string display to default to "browser".`; data.jsonText = JSON.stringify({ - display: type + display: type, }); var result = processor.process(data); - is(result.display, 'browser', expected); + is(result.display, "browser", expected); }); -/*Test valid modes - case insensitive*/ +/* Test valid modes - case insensitive*/ var validModes = [ - 'fullscreen', - 'standalone', - 'minimal-ui', - 'browser', - 'FullScreen', - 'standAlone', - 'minimal-UI', - 'BROWSER', -] + "fullscreen", + "standalone", + "minimal-ui", + "browser", + "FullScreen", + "standAlone", + "minimal-UI", + "BROWSER", +]; validModes.forEach((mode) => { var expected = `Expect display mode to be ${mode.toLowerCase()}.`; data.jsonText = JSON.stringify({ - display: mode + display: mode, }); var result = processor.process(data); is(result.display, mode.toLowerCase(), expected); }); -//trim tests +// trim tests validModes.forEach((display) => { var expected = `Expect trimmed display mode to be returned.`; var expandedDisplay = seperators + lineTerminators + display + lineTerminators + seperators; data.jsonText = JSON.stringify({ - display: expandedDisplay + display: expandedDisplay, }); var result = processor.process(data); is(result.display, display.toLowerCase(), expected); }); -//Unknown modes +// Unknown modes var invalidModes = [ - 'foo', + "foo", `fooo${whiteSpace}`, - '', - 'fullscreen,standalone', - 'standalone fullscreen', - 'FULLSCreENS', + "", + "fullscreen,standalone", + "standalone fullscreen", + "FULLSCreENS", ]; invalidModes.forEach((invalidMode) => { var expected = `Expect default display mode "browser" to be returned: '${invalidMode}'`; data.jsonText = JSON.stringify({ - display: invalidMode + display: invalidMode, }); var result = processor.process(data); - is(result.display, 'browser', expected); + is(result.display, "browser", expected); }); diff --git a/dom/manifest/test/test_ManifestProcessor_icons.html b/dom/manifest/test/test_ManifestProcessor_icons.html index 9bd3d90ec265..e7510aa97272 100644 --- a/dom/manifest/test/test_ManifestProcessor_icons.html +++ b/dom/manifest/test/test_ManifestProcessor_icons.html @@ -15,12 +15,12 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1079453 * https://w3c.github.io/manifest/#icons-member **/ -'use strict'; +"use strict"; typeTests.forEach((type) => { var expected = `Expect non-array icons to be empty array: ${typeof type}.`; data.jsonText = JSON.stringify({ - icons: type + icons: type, }); var result = processor.process(data); var y = SpecialPowers.unwrap(result.icons); diff --git a/dom/manifest/test/test_ManifestProcessor_lang.html b/dom/manifest/test/test_ManifestProcessor_lang.html index f5e994175d7c..a8837f5ea742 100644 --- a/dom/manifest/test/test_ManifestProcessor_lang.html +++ b/dom/manifest/test/test_ManifestProcessor_lang.html @@ -13,13 +13,13 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1143879 * lang member * https://w3c.github.io/manifest/#lang-member **/ -/*globals is, typeTests, data, processor, seperators, lineTerminators, todo_is*/ -'use strict'; +/* globals is, typeTests, data, processor, seperators, lineTerminators, todo_is*/ +"use strict"; // Type checks: checks that only strings are accepted. for (var type of typeTests) { var expected = `Expect non-string to be undefined.`; data.jsonText = JSON.stringify({ - lang: type + lang: type, }); var result = processor.process(data); is(result.lang, undefined, expected); @@ -28,34 +28,34 @@ for (var type of typeTests) { // Test valid language tags - derived from IANA and BCP-47 spec // and our Intl.js implementation. var validTags = [ - 'aa', 'ab', 'ae', 'af', 'ak', 'am', 'an', 'ar', 'as', 'av', 'ay', 'az', - 'ba', 'be', 'bg', 'bh', 'bi', 'bm', 'bn', 'bo', 'br', 'bs', 'ca', 'ce', - 'ch', 'co', 'cr', 'cs', 'cu', 'cv', 'cy', 'da', 'de', 'dv', 'dz', 'ee', - 'el', 'en', 'eo', 'es', 'et', 'eu', 'fa', 'ff', 'fi', 'fj', 'fo', 'fr', - 'fy', 'ga', 'gd', 'gl', 'gn', 'gu', 'gv', 'ha', 'he', 'hi', 'ho', 'hr', - 'ht', 'hu', 'hy', 'hz', 'ia', 'id', 'ie', 'ig', 'ik', 'in', 'io', - 'is', 'it', 'iu', 'iw', 'ja', 'ji', 'jv', 'jw', 'ka', 'kg', 'ki', 'kj', - 'kk', 'kl', 'km', 'kn', 'ko', 'kr', 'ks', 'ku', 'kv', 'kw', 'ky', 'la', - 'lb', 'lg', 'li', 'ln', 'lo', 'lt', 'lu', 'lv', 'mg', 'mh', 'mi', 'mk', - 'ml', 'mn', 'mo', 'mr', 'ms', 'mt', 'my', 'na', 'nb', 'nd', 'ne', 'ng', - 'nl', 'nn', 'no', 'nr', 'nv', 'ny', 'oc', 'oj', 'om', 'or', 'os', 'pa', - 'pi', 'pl', 'ps', 'pt', 'qu', 'rm', 'rn', 'ro', 'ru', 'rw', 'sa', 'sc', - 'sd', 'se', 'sg', 'sh', 'si', 'sk', 'sl', 'sm', 'sn', 'so', 'sq', 'sr', - 'ss', 'st', 'su', 'sv', 'sw', 'ta', 'te', 'tg', 'th', 'ti', 'tk', 'tl', - 'tn', 'to', 'tr', 'ts', 'tt', 'tw', 'ty', 'ug', 'uk', 'ur', 'uz', 've', - 'vi', 'vo', 'wa', 'wo', 'xh', 'yi', 'yo', 'za', 'zh', 'zu', 'en-US', - 'jp-JS', 'pt-PT', 'pt-BR', 'de-CH', 'de-DE-1901', 'es-419', 'sl-IT-nedis', - 'en-US-boont', 'mn-Cyrl-MN', 'x-fr-CH', 'sr-Cyrl', 'sr-Latn', - 'hy-Latn-IT-arevela', 'zh-TW', 'en-GB-boont-r-extended-sequence-x-private', - 'zh-nan-hans-bu-variant2-variant1-u-ca-chinese-t-zh-latn-x-private', - 'zh-cmn-Hans-CN', 'cmn-Hans-CN', 'zh-yue-HK', 'yue-HK', - 'de-CH-x-phonebk', 'az-Arab-x-AZE-derbend', 'x-whatever', - 'qaa-Qaaa-QM-x-southern' + "aa", "ab", "ae", "af", "ak", "am", "an", "ar", "as", "av", "ay", "az", + "ba", "be", "bg", "bh", "bi", "bm", "bn", "bo", "br", "bs", "ca", "ce", + "ch", "co", "cr", "cs", "cu", "cv", "cy", "da", "de", "dv", "dz", "ee", + "el", "en", "eo", "es", "et", "eu", "fa", "ff", "fi", "fj", "fo", "fr", + "fy", "ga", "gd", "gl", "gn", "gu", "gv", "ha", "he", "hi", "ho", "hr", + "ht", "hu", "hy", "hz", "ia", "id", "ie", "ig", "ik", "in", "io", + "is", "it", "iu", "iw", "ja", "ji", "jv", "jw", "ka", "kg", "ki", "kj", + "kk", "kl", "km", "kn", "ko", "kr", "ks", "ku", "kv", "kw", "ky", "la", + "lb", "lg", "li", "ln", "lo", "lt", "lu", "lv", "mg", "mh", "mi", "mk", + "ml", "mn", "mo", "mr", "ms", "mt", "my", "na", "nb", "nd", "ne", "ng", + "nl", "nn", "no", "nr", "nv", "ny", "oc", "oj", "om", "or", "os", "pa", + "pi", "pl", "ps", "pt", "qu", "rm", "rn", "ro", "ru", "rw", "sa", "sc", + "sd", "se", "sg", "sh", "si", "sk", "sl", "sm", "sn", "so", "sq", "sr", + "ss", "st", "su", "sv", "sw", "ta", "te", "tg", "th", "ti", "tk", "tl", + "tn", "to", "tr", "ts", "tt", "tw", "ty", "ug", "uk", "ur", "uz", "ve", + "vi", "vo", "wa", "wo", "xh", "yi", "yo", "za", "zh", "zu", "en-US", + "jp-JS", "pt-PT", "pt-BR", "de-CH", "de-DE-1901", "es-419", "sl-IT-nedis", + "en-US-boont", "mn-Cyrl-MN", "x-fr-CH", "sr-Cyrl", "sr-Latn", + "hy-Latn-IT-arevela", "zh-TW", "en-GB-boont-r-extended-sequence-x-private", + "zh-nan-hans-bu-variant2-variant1-u-ca-chinese-t-zh-latn-x-private", + "zh-cmn-Hans-CN", "cmn-Hans-CN", "zh-yue-HK", "yue-HK", + "de-CH-x-phonebk", "az-Arab-x-AZE-derbend", "x-whatever", + "qaa-Qaaa-QM-x-southern", ]; for (var tag of validTags) { var expected = `Expect lang to be ${tag}.`; data.jsonText = JSON.stringify({ - lang: tag + lang: tag, }); var result = processor.process(data); is(result.lang, tag, expected); @@ -67,21 +67,21 @@ for (var tag of validTags) { var expandedtag = seperators + lineTerminators + tag; expandedtag += lineTerminators + seperators; data.jsonText = JSON.stringify({ - lang: expandedtag + lang: expandedtag, }); var result = processor.process(data); is(result.lang, tag, expected); } -//Invalid language tags, derived from BCP-47 and made up. +// Invalid language tags, derived from BCP-47 and made up. var invalidTags = [ - 'de-419-DE', ' a-DE ', 'ar-a-aaa-b-bbb-a-ccc', 'sdafsdfaadsfdsf', 'i', - 'i-phone', 'en US', 'EN-*-US-JP', 'JA-INVALID-TAG', '123123123' + "de-419-DE", " a-DE ", "ar-a-aaa-b-bbb-a-ccc", "sdafsdfaadsfdsf", "i", + "i-phone", "en US", "EN-*-US-JP", "JA-INVALID-TAG", "123123123", ]; for (var item of invalidTags) { var expected = `Expect invalid tag (${item}) to be treated as undefined.`; data.jsonText = JSON.stringify({ - lang: item + lang: item, }); var result = processor.process(data); todo_is(result.lang, undefined, expected); @@ -91,19 +91,19 @@ for (var item of invalidTags) { // canonical form, to upper case and expect the processor to return them // in canonical form. var canonicalTags = [ - 'jp-JS', 'pt-PT', 'pt-BR', 'de-CH', 'de-DE-1901', 'es-419', 'sl-IT-nedis', - 'en-US-boont', 'mn-Cyrl-MN', 'x-fr-CH', 'sr-Cyrl', 'sr-Latn', - 'hy-Latn-IT-arevela', 'zh-TW', 'en-GB-boont-r-extended-sequence-x-private', - 'zh-cmn-Hans-CN', 'cmn-Hans-CN', 'zh-yue-HK', 'yue-HK', - 'de-CH-x-phonebk', 'az-Arab-x-AZE-derbend', 'x-whatever', - 'qaa-Qaaa-QM-x-southern' + "jp-JS", "pt-PT", "pt-BR", "de-CH", "de-DE-1901", "es-419", "sl-IT-nedis", + "en-US-boont", "mn-Cyrl-MN", "x-fr-CH", "sr-Cyrl", "sr-Latn", + "hy-Latn-IT-arevela", "zh-TW", "en-GB-boont-r-extended-sequence-x-private", + "zh-cmn-Hans-CN", "cmn-Hans-CN", "zh-yue-HK", "yue-HK", + "de-CH-x-phonebk", "az-Arab-x-AZE-derbend", "x-whatever", + "qaa-Qaaa-QM-x-southern", ]; for (var tag of canonicalTags) { var uppedTag = tag.toUpperCase(); var expected = `Expect tag (${uppedTag}) to be in canonical form (${tag}).`; data.jsonText = JSON.stringify({ - lang: uppedTag + lang: uppedTag, }); var result = processor.process(data); todo_is(result.lang, tag, expected); diff --git a/dom/manifest/test/test_ManifestProcessor_name_and_short_name.html b/dom/manifest/test/test_ManifestProcessor_name_and_short_name.html index 0ec532cd85b7..3fe6d5c9ad07 100644 --- a/dom/manifest/test/test_ManifestProcessor_name_and_short_name.html +++ b/dom/manifest/test/test_ManifestProcessor_name_and_short_name.html @@ -16,16 +16,16 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1079453 * https://w3c.github.io/manifest/#short_name-member **/ -'use strict'; +"use strict"; var trimNamesTests = [ `${seperators}pass${seperators}`, `${lineTerminators}pass${lineTerminators}`, `${whiteSpace}pass${whiteSpace}`, - //BOM - `\uFEFFpass\uFEFF` + // BOM + `\uFEFFpass\uFEFF`, ]; -var props = ['name', 'short_name']; +var props = ["name", "short_name"]; props.forEach((prop) => { trimNamesTests.forEach((trimmableString) => { @@ -34,7 +34,7 @@ props.forEach((prop) => { obj[prop] = trimmableString; data.jsonText = JSON.stringify(obj); var result = processor.process(data); - is(result[prop], 'pass', assetion); + is(result[prop], "pass", assetion); }); }); @@ -56,13 +56,13 @@ props.forEach((prop) => { * acceptable names - including long names */ var acceptableNames = [ - 'pass', + "pass", `pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass pass`, - 'これは許容できる名前です', - 'ນີ້ແມ່ນຊື່ທີ່ຍອມຮັບໄດ້' + "これは許容できる名前です", + "ນີ້ແມ່ນຊື່ທີ່ຍອມຮັບໄດ້", ]; props.forEach((prop) => { diff --git a/dom/manifest/test/test_ManifestProcessor_orientation.html b/dom/manifest/test/test_ManifestProcessor_orientation.html index 67f19a9ff56e..ade60407e622 100644 --- a/dom/manifest/test/test_ManifestProcessor_orientation.html +++ b/dom/manifest/test/test_ManifestProcessor_orientation.html @@ -14,34 +14,34 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1079453 * orientation member * https://w3c.github.io/manifest/#orientation-member **/ -'use strict'; +"use strict"; typeTests.forEach((type) => { var expected = `Expect non-string orientation to be empty string : ${typeof type}.`; data.jsonText = JSON.stringify({ - orientation: type + orientation: type, }); var result = processor.process(data); is(result.orientation, undefined, expected); }); var validOrientations = [ - 'any', - 'natural', - 'landscape', - 'portrait', - 'portrait-primary', - 'portrait-secondary', - 'landscape-primary', - 'landscape-secondary', - 'aNy', - 'NaTuRal', - 'LANDsCAPE', - 'PORTRAIT', - 'portrait-PRIMARY', - 'portrait-SECONDARY', - 'LANDSCAPE-primary', - 'LANDSCAPE-secondary', + "any", + "natural", + "landscape", + "portrait", + "portrait-primary", + "portrait-secondary", + "landscape-primary", + "landscape-secondary", + "aNy", + "NaTuRal", + "LANDsCAPE", + "PORTRAIT", + "portrait-PRIMARY", + "portrait-SECONDARY", + "LANDSCAPE-primary", + "LANDSCAPE-secondary", ]; validOrientations.forEach((orientation) => { @@ -52,17 +52,17 @@ validOrientations.forEach((orientation) => { }); var invalidOrientations = [ - 'all', - 'ANYMany', - 'NaTuRalle', - 'portrait-primary portrait-secondary', - 'portrait-primary,portrait-secondary', - 'any-natural', - 'portrait-landscape', - 'primary-portrait', - 'secondary-portrait', - 'landscape-landscape', - 'secondary-primary' + "all", + "ANYMany", + "NaTuRalle", + "portrait-primary portrait-secondary", + "portrait-primary,portrait-secondary", + "any-natural", + "portrait-landscape", + "primary-portrait", + "secondary-portrait", + "landscape-landscape", + "secondary-primary", ]; invalidOrientations.forEach((orientation) => { @@ -72,12 +72,12 @@ invalidOrientations.forEach((orientation) => { is(result.orientation, undefined, expected); }); -//Trim tests +// Trim tests validOrientations.forEach((orientation) => { var expected = `Expect trimmed orientation to be returned.`; var expandedOrientation = `${seperators}${lineTerminators}${orientation}${lineTerminators}${seperators}`; data.jsonText = JSON.stringify({ - orientation: expandedOrientation + orientation: expandedOrientation, }); var result = processor.process(data); is(result.orientation, orientation.toLowerCase(), expected); diff --git a/dom/manifest/test/test_ManifestProcessor_scope.html b/dom/manifest/test/test_ManifestProcessor_scope.html index b1cc9dbd1f97..b0bb1886b2fc 100644 --- a/dom/manifest/test/test_ManifestProcessor_scope.html +++ b/dom/manifest/test/test_ManifestProcessor_scope.html @@ -14,76 +14,76 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1079453 * Manifest scope * https://w3c.github.io/manifest/#scope-member **/ -'use strict'; -var expected = 'Expect non-string scope to be undefined'; +"use strict"; +var expected = "Expect non-string scope to be undefined"; typeTests.forEach((type) => { data.jsonText = JSON.stringify({ - scope: type + scope: type, }); var result = processor.process(data); is(result.scope, undefined, expected); }); -var expected = 'Expect different origin to be treated as undefined'; +var expected = "Expect different origin to be treated as undefined"; data.jsonText = JSON.stringify({ - scope: 'http://not-same-origin' + scope: "http://not-same-origin", }); var result = processor.process(data); is(result.scope, undefined, expected); -var expected = 'Expect the empty string to be treated as undefined.'; +var expected = "Expect the empty string to be treated as undefined."; data.jsonText = JSON.stringify({ - scope: '' + scope: "", }); var result = processor.process(data); is(result.scope, undefined, expected); -var expected = 'Resolve URLs relative to manifest.'; -var URLs = ['path', '/path', '../../path']; +var expected = "Resolve URLs relative to manifest."; +var URLs = ["path", "/path", "../../path"]; URLs.forEach((url) => { data.jsonText = JSON.stringify({ scope: url, - start_url: "/path" + start_url: "/path", }); var absURL = new URL(url, manifestURL).toString(); var result = processor.process(data); is(result.scope, absURL, expected); }); -var expected = 'If start URL is not in scope, return undefined.'; +var expected = "If start URL is not in scope, return undefined."; data.jsonText = JSON.stringify({ - scope: 'foo', - start_url: 'bar' + scope: "foo", + start_url: "bar", }); var result = processor.process(data); is(result.scope, undefined, expected); -var expected = 'If start URL is in scope, use the scope.'; +var expected = "If start URL is in scope, use the scope."; data.jsonText = JSON.stringify({ - start_url: 'foobar', - scope: 'foo' + start_url: "foobar", + scope: "foo", }); var result = processor.process(data); -is(result.scope.toString(), new URL('foo', manifestURL).toString(), expected); +is(result.scope.toString(), new URL("foo", manifestURL).toString(), expected); -var expected = 'Expect start_url to be ' + new URL('foobar', manifestURL).toString(); -is(result.start_url.toString(), new URL('foobar', manifestURL).toString(), expected); +var expected = "Expect start_url to be " + new URL("foobar", manifestURL).toString(); +is(result.start_url.toString(), new URL("foobar", manifestURL).toString(), expected); -var expected = 'If start URL is in scope, use the scope.'; +var expected = "If start URL is in scope, use the scope."; data.jsonText = JSON.stringify({ - start_url: '/foo/', - scope: '/foo/' + start_url: "/foo/", + scope: "/foo/", }); var result = processor.process(data); -is(result.scope.toString(), new URL('/foo/', manifestURL).toString(), expected); +is(result.scope.toString(), new URL("/foo/", manifestURL).toString(), expected); -var expected = 'If start URL is in scope, use the scope.'; +var expected = "If start URL is in scope, use the scope."; data.jsonText = JSON.stringify({ - start_url: '.././foo/', - scope: '../foo/' + start_url: ".././foo/", + scope: "../foo/", }); var result = processor.process(data); -is(result.scope.toString(), new URL('/foo/', manifestURL).toString(), expected); +is(result.scope.toString(), new URL("/foo/", manifestURL).toString(), expected); diff --git a/dom/manifest/test/test_ManifestProcessor_start_url.html b/dom/manifest/test/test_ManifestProcessor_start_url.html index d0b381fa2c0d..fd9c16d2a79f 100644 --- a/dom/manifest/test/test_ManifestProcessor_start_url.html +++ b/dom/manifest/test/test_ManifestProcessor_start_url.html @@ -14,42 +14,42 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1079453 * Manifest start_url * https://w3c.github.io/manifest/#start_url-member **/ -'use strict'; +"use strict"; typeTests.forEach((type) => { var expected = `Expect non - string start_url to be doc's url: ${typeof type}.`; data.jsonText = JSON.stringify({ - start_url: type + start_url: type, }); var result = processor.process(data); is(result.start_url.toString(), docURL.toString(), expected); }); -//Not same origin +// Not same origin var expected = `Expect different origin URLs to become document's URL.`; data.jsonText = JSON.stringify({ - start_url: 'http://not-same-origin' + start_url: "http://not-same-origin", }); var result = processor.process(data); is(result.start_url.toString(), docURL.toString(), expected); -//Empty string test +// Empty string test var expected = `Expect empty string for start_url to become document's URL.`; data.jsonText = JSON.stringify({ - start_url: '' + start_url: "", }); var result = processor.process(data); is(result.start_url.toString(), docURL.toString(), expected); -//Resolve URLs relative to manfiest -var URLs = ['path', '/path', '../../path', +// Resolve URLs relative to manfiest +var URLs = ["path", "/path", "../../path", `${whiteSpace}path${whiteSpace}`, `${whiteSpace}/path`, - `${whiteSpace}../../path` + `${whiteSpace}../../path`, ]; URLs.forEach((url) => { var expected = `Resolve URLs relative to manifest.`; data.jsonText = JSON.stringify({ - start_url: url + start_url: url, }); var absURL = new URL(url, manifestURL).toString(); var result = processor.process(data); diff --git a/dom/manifest/test/test_ManifestProcessor_theme_color.html b/dom/manifest/test/test_ManifestProcessor_theme_color.html index c08830025814..52085cb2b0f2 100644 --- a/dom/manifest/test/test_ManifestProcessor_theme_color.html +++ b/dom/manifest/test/test_ManifestProcessor_theme_color.html @@ -14,11 +14,11 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1195018 * theme_color member * https://w3c.github.io/manifest/#theme_color-member **/ -'use strict'; +"use strict"; typeTests.forEach(type => { data.jsonText = JSON.stringify({ - theme_color: type + theme_color: type, }); var result = processor.process(data); @@ -26,52 +26,52 @@ typeTests.forEach(type => { }); var validThemeColors = [ - 'maroon', - '#f00', - '#ff0000', - 'rgb(255,0,0)', - 'rgb(255,0,0,1)', - 'rgb(255,0,0,1.0)', - 'rgb(255,0,0,100%)', - 'rgb(255 0 0)', - 'rgb(255 0 0 / 1)', - 'rgb(255 0 0 / 1.0)', - 'rgb(255 0 0 / 100%)', - 'rgb(100%, 0%, 0%)', - 'rgb(100%, 0%, 0%, 1)', - 'rgb(100%, 0%, 0%, 1.0)', - 'rgb(100%, 0%, 0%, 100%)', - 'rgb(100% 0% 0%)', - 'rgb(100% 0% 0% / 1)', - 'rgb(100%, 0%, 0%, 1.0)', - 'rgb(100%, 0%, 0%, 100%)', - 'rgb(300,0,0)', - 'rgb(300 0 0)', - 'rgb(255,-10,0)', - 'rgb(110%, 0%, 0%)', - 'rgba(255,0,0)', - 'rgba(255,0,0,1)', - 'rgba(255 0 0 / 1)', - 'rgba(100%,0%,0%,1)', - 'rgba(0,0,255,0.5)', - 'rgba(100%, 50%, 0%, 0.1)', - 'hsl(120, 100%, 50%)', - 'hsl(120 100% 50%)', - 'hsl(120, 100%, 50%, 1.0)', - 'hsl(120 100% 50% / 1.0)', - 'hsla(120, 100%, 50%)', - 'hsla(120 100% 50%)', - 'hsla(120, 100%, 50%, 1.0)', - 'hsla(120 100% 50% / 1.0)', - 'hsl(120deg, 100%, 50%)', - 'hsl(133.33333333grad, 100%, 50%)', - 'hsl(2.0943951024rad, 100%, 50%)', - 'hsl(0.3333333333turn, 100%, 50%)', + "maroon", + "#f00", + "#ff0000", + "rgb(255,0,0)", + "rgb(255,0,0,1)", + "rgb(255,0,0,1.0)", + "rgb(255,0,0,100%)", + "rgb(255 0 0)", + "rgb(255 0 0 / 1)", + "rgb(255 0 0 / 1.0)", + "rgb(255 0 0 / 100%)", + "rgb(100%, 0%, 0%)", + "rgb(100%, 0%, 0%, 1)", + "rgb(100%, 0%, 0%, 1.0)", + "rgb(100%, 0%, 0%, 100%)", + "rgb(100% 0% 0%)", + "rgb(100% 0% 0% / 1)", + "rgb(100%, 0%, 0%, 1.0)", + "rgb(100%, 0%, 0%, 100%)", + "rgb(300,0,0)", + "rgb(300 0 0)", + "rgb(255,-10,0)", + "rgb(110%, 0%, 0%)", + "rgba(255,0,0)", + "rgba(255,0,0,1)", + "rgba(255 0 0 / 1)", + "rgba(100%,0%,0%,1)", + "rgba(0,0,255,0.5)", + "rgba(100%, 50%, 0%, 0.1)", + "hsl(120, 100%, 50%)", + "hsl(120 100% 50%)", + "hsl(120, 100%, 50%, 1.0)", + "hsl(120 100% 50% / 1.0)", + "hsla(120, 100%, 50%)", + "hsla(120 100% 50%)", + "hsla(120, 100%, 50%, 1.0)", + "hsla(120 100% 50% / 1.0)", + "hsl(120deg, 100%, 50%)", + "hsl(133.33333333grad, 100%, 50%)", + "hsl(2.0943951024rad, 100%, 50%)", + "hsl(0.3333333333turn, 100%, 50%)", ]; validThemeColors.forEach(theme_color => { data.jsonText = JSON.stringify({ - theme_color: theme_color + theme_color, }); var result = processor.process(data); @@ -79,25 +79,25 @@ validThemeColors.forEach(theme_color => { }); var invalidThemeColors = [ - 'marooon', - 'f000000', - '#ff00000', - 'rgb(100, 0%, 0%)', - 'rgb(255,0)', - 'rbg(255,-10,0)', - 'rgb(110, 0%, 0%)', - '(255,0,0) }', - 'rgba(255)', - ' rgb(100%,0%,0%) }', - 'hsl(120, 100%, 50)', - 'hsl(120, 100%, 50.0)', - 'hsl 120, 100%, 50%', - 'hsla{120, 100%, 50%, 1}', -] + "marooon", + "f000000", + "#ff00000", + "rgb(100, 0%, 0%)", + "rgb(255,0)", + "rbg(255,-10,0)", + "rgb(110, 0%, 0%)", + "(255,0,0) }", + "rgba(255)", + " rgb(100%,0%,0%) }", + "hsl(120, 100%, 50)", + "hsl(120, 100%, 50.0)", + "hsl 120, 100%, 50%", + "hsla{120, 100%, 50%, 1}", +]; invalidThemeColors.forEach(theme_color => { data.jsonText = JSON.stringify({ - theme_color: theme_color + theme_color, }); var result = processor.process(data); @@ -108,7 +108,7 @@ invalidThemeColors.forEach(theme_color => { validThemeColors.forEach(theme_color => { var expandedThemeColor = `${seperators}${lineTerminators}${theme_color}${lineTerminators}${seperators}`; data.jsonText = JSON.stringify({ - theme_color: expandedThemeColor + theme_color: expandedThemeColor, }); var result = processor.process(data); diff --git a/dom/manifest/test/test_ManifestProcessor_warnings.html b/dom/manifest/test/test_ManifestProcessor_warnings.html index 865ef8054ad2..f3dfeea53f49 100644 --- a/dom/manifest/test/test_ManifestProcessor_warnings.html +++ b/dom/manifest/test/test_ManifestProcessor_warnings.html @@ -10,11 +10,11 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1086997