summaryrefslogtreecommitdiffstats
path: root/devtools/client/application/test/node/fixtures
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/application/test/node/fixtures')
-rw-r--r--devtools/client/application/test/node/fixtures/data/constants.js312
1 files changed, 312 insertions, 0 deletions
diff --git a/devtools/client/application/test/node/fixtures/data/constants.js b/devtools/client/application/test/node/fixtures/data/constants.js
new file mode 100644
index 0000000000..795324525c
--- /dev/null
+++ b/devtools/client/application/test/node/fixtures/data/constants.js
@@ -0,0 +1,312 @@
+/* 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";
+
+// NOTE: worker state values are defined in an enum in nsIServiceWorkerManager
+// https://searchfox.org/mozilla-central/source/dom/interfaces/base/nsIServiceWorkerManager.idl
+
+const EMPTY_WORKER_LIST = [];
+
+const WORKER_RUNNING = {
+ id: "id-worker-1-example",
+ workerDescriptorFront: true,
+ url: "http://example.com/worker.js",
+ state: 4,
+ stateText: "activated",
+};
+
+const WORKER_STOPPED = {
+ id: "id-worker-1-example",
+ workerDescriptorFront: false,
+ url: "http://example.com/worker.js",
+ state: 4,
+ stateText: "activated",
+};
+
+const WORKER_WAITING = {
+ id: "id-worker-1-example",
+ workerDescriptorFront: false,
+ url: "http://example.com/worker.js",
+ state: 2,
+ stateText: "installed",
+};
+
+const REGISTRATION_SINGLE_WORKER = {
+ id: "id-reg-1-example",
+ scope: "SCOPE 123",
+ registrationFront: "",
+ workers: [
+ {
+ id: "id-worker-1-example",
+ workerDescriptorFront: "",
+ url: "http://example.com/worker.js",
+ state: 4,
+ stateText: "activated",
+ },
+ ],
+};
+
+const REGISTRATION_MULTIPLE_WORKERS = {
+ id: "id-reg-1-example",
+ scope: "SCOPE 123",
+ registrationFront: "",
+ workers: [
+ {
+ id: "id-worker-1-example",
+ workerDescriptorFront: "",
+ url: "http://example.com/worker.js",
+ state: 4,
+ stateText: "activated",
+ },
+ {
+ id: "id-worker-2-example",
+ workerDescriptorFront: "",
+ url: "http://example.com/worker.js",
+ state: 2,
+ stateText: "installed",
+ },
+ ],
+};
+
+const SINGLE_WORKER_DEFAULT_DOMAIN_LIST = [
+ {
+ id: "id-reg-1-example",
+ scope: "SCOPE 123",
+ registrationFront: "",
+ workers: [
+ {
+ id: "id-worker-1-example",
+ workerDescriptorFront: "",
+ url: "http://example.com/worker.js",
+ state: 4,
+ stateText: "activated",
+ },
+ ],
+ },
+];
+
+const SINGLE_WORKER_DIFFERENT_DOMAIN_LIST = [
+ {
+ id: "id-reg-1-example",
+ scope: "SCOPE 123",
+ registrationFront: "",
+ workers: [
+ {
+ id: "id-worker-1-example",
+ workerDescriptorFront: "",
+ url: "http://different-example.com/worker.js",
+ state: 4,
+ stateText: "activated",
+ },
+ ],
+ },
+];
+
+const MULTIPLE_WORKER_LIST = [
+ {
+ id: "id-reg-1-example",
+ scope: "SCOPE1",
+ registrationFront: "",
+ workers: [
+ {
+ id: "id-worker-1-example",
+ workerDescriptorFront: "",
+ url: "http://example.com/worker.js",
+ state: 4,
+ stateText: "activated",
+ },
+ ],
+ },
+ {
+ id: "id-reg-1-example",
+ scope: "SCOPE2",
+ registrationFront: "",
+ workers: [
+ {
+ id: "id-worker-2-example",
+ workerDescriptorFront: "",
+ url: "http://example.com/worker.js",
+ state: 2,
+ stateText: "installed",
+ },
+ ],
+ },
+ {
+ id: "id-reg-3-example",
+ scope: "SCOPE3",
+ registrationFront: "",
+ workers: [
+ {
+ id: "id-worker-3-example",
+ workerDescriptorFront: "",
+ url: "http://example.com/worker.js",
+ state: 4,
+ stateText: "activated",
+ },
+ ],
+ },
+];
+
+const MULTIPLE_WORKER_MIXED_DOMAINS_LIST = [
+ {
+ id: "id-reg-1-example",
+ scope: "SCOPE1",
+ registrationFront: "",
+ workers: [
+ {
+ id: "id-worker-1-example",
+ workerDescriptorFront: "",
+ url: "http://example.com/worker.js",
+ state: 4,
+ stateText: "activated",
+ },
+ ],
+ },
+ {
+ id: "id-reg-2-example",
+ scope: "SCOPE2",
+ registrationFront: "",
+ workers: [
+ {
+ id: "id-worker-2-example",
+ workerDescriptorFront: "",
+ url: "http://example.com/worker.js",
+ state: 4,
+ stateText: "activated",
+ },
+ ],
+ },
+ {
+ id: "id-reg-3-example",
+ scope: "SCOPE3",
+ registrationFront: "",
+ workers: [
+ {
+ id: "id-worker-3-example",
+ workerDescriptorFront: "",
+ url: "http://different-example.com/worker.js",
+ state: 4,
+ stateText: "activated",
+ },
+ ],
+ },
+];
+
+// props for a simple manifest
+const MANIFEST_SIMPLE = {
+ icons: [
+ {
+ key: { sizes: "1x1", contentType: "image/png" },
+ value: { src: "something.png", purpose: "any" },
+ type: "icon",
+ },
+ ],
+ identity: [{ key: "name", value: "foo", type: "string" }],
+ presentation: [
+ { key: "lorem", value: "ipsum", type: "string" },
+ { key: "foo", value: "bar", type: "string" },
+ ],
+ validation: [{ level: "warning", message: "This is a warning" }],
+};
+
+// props for a manifest with string values
+const MANIFEST_STRING_MEMBERS = {
+ icons: [],
+ identity: [{ key: "name", value: "foo", type: "string" }],
+ presentation: [],
+ validation: [],
+};
+
+// props for a manifest with color values
+const MANIFEST_COLOR_MEMBERS = {
+ icons: [],
+ identity: [],
+ presentation: [
+ { key: "background_color", value: "red", type: "color" },
+ { key: "theme_color", value: "rgb(0, 0, 0)", type: "color" },
+ ],
+ validation: [],
+};
+
+// props for a manifest with icon values
+const MANIFEST_ICON_MEMBERS = {
+ icons: [
+ {
+ key: { sizes: "1x1", contentType: "image/png" },
+ value: { src: "something.png", purpose: "any" },
+ type: "icon",
+ },
+ {
+ key: { sizes: "", contentType: "" },
+ value: { src: "something.svg", purpose: "any maskable" },
+ type: "icon",
+ },
+ ],
+ identity: [],
+ presentation: [],
+ validation: [],
+};
+
+// props for a manifest with values that have an unrecognized type
+const MANIFEST_UNKNOWN_TYPE_MEMBERS = {
+ icons: [],
+ identity: [{ key: "lorem", value: "ipsum", type: "foo" }],
+ presentation: [],
+ validation: [],
+};
+
+// props for a manifest with url values
+const MANIFEST_URL_MEMBERS = {
+ icons: [],
+ identity: [],
+ presentation: [
+ { key: "start_url", value: "https://example.com/", type: "url" },
+ { key: "scope", value: "https://example.com/", type: "url" },
+ ],
+};
+
+const MANIFEST_WITH_ISSUES = {
+ icons: [],
+ identity: [{ key: "name", value: "foo", type: "string" }],
+ presentation: [
+ { key: "lorem", value: "ipsum", type: "string" },
+ { key: "foo", value: "bar", type: "string" },
+ ],
+ validation: [{ level: "warning", message: "This is a warning" }],
+};
+
+// props for a manifest with no validation issues
+const MANIFEST_NO_ISSUES = {
+ icons: [],
+ identity: [{ key: "name", value: "foo", type: "string" }],
+ presentation: [
+ { key: "lorem", value: "ipsum", type: "string" },
+ { key: "foo", value: "bar", type: "string" },
+ ],
+ validation: [],
+};
+
+module.exports = {
+ // service worker related fixtures
+ EMPTY_WORKER_LIST,
+ MULTIPLE_WORKER_LIST,
+ MULTIPLE_WORKER_MIXED_DOMAINS_LIST,
+ REGISTRATION_MULTIPLE_WORKERS,
+ REGISTRATION_SINGLE_WORKER,
+ SINGLE_WORKER_DEFAULT_DOMAIN_LIST,
+ SINGLE_WORKER_DIFFERENT_DOMAIN_LIST,
+ WORKER_RUNNING,
+ WORKER_STOPPED,
+ WORKER_WAITING,
+ // manifest related fixtures
+ MANIFEST_NO_ISSUES,
+ MANIFEST_WITH_ISSUES,
+ MANIFEST_SIMPLE,
+ MANIFEST_COLOR_MEMBERS,
+ MANIFEST_ICON_MEMBERS,
+ MANIFEST_STRING_MEMBERS,
+ MANIFEST_UNKNOWN_TYPE_MEMBERS,
+ MANIFEST_URL_MEMBERS,
+};