summaryrefslogtreecommitdiffstats
path: root/devtools/client/inspector/grids/test/xpcshell
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/inspector/grids/test/xpcshell')
-rw-r--r--devtools/client/inspector/grids/test/xpcshell/.eslintrc.js6
-rw-r--r--devtools/client/inspector/grids/test/xpcshell/head.js10
-rw-r--r--devtools/client/inspector/grids/test/xpcshell/test_compare_fragments_geometry.js129
-rw-r--r--devtools/client/inspector/grids/test/xpcshell/xpcshell.toml6
4 files changed, 151 insertions, 0 deletions
diff --git a/devtools/client/inspector/grids/test/xpcshell/.eslintrc.js b/devtools/client/inspector/grids/test/xpcshell/.eslintrc.js
new file mode 100644
index 0000000000..86bd54c245
--- /dev/null
+++ b/devtools/client/inspector/grids/test/xpcshell/.eslintrc.js
@@ -0,0 +1,6 @@
+"use strict";
+
+module.exports = {
+ // Extend from the common devtools xpcshell eslintrc config.
+ extends: "../../../../../.eslintrc.xpcshell.js",
+};
diff --git a/devtools/client/inspector/grids/test/xpcshell/head.js b/devtools/client/inspector/grids/test/xpcshell/head.js
new file mode 100644
index 0000000000..733c0400da
--- /dev/null
+++ b/devtools/client/inspector/grids/test/xpcshell/head.js
@@ -0,0 +1,10 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+/* eslint no-unused-vars: [2, {"vars": "local"}] */
+
+const { require } = ChromeUtils.importESModule(
+ "resource://devtools/shared/loader/Loader.sys.mjs"
+);
diff --git a/devtools/client/inspector/grids/test/xpcshell/test_compare_fragments_geometry.js b/devtools/client/inspector/grids/test/xpcshell/test_compare_fragments_geometry.js
new file mode 100644
index 0000000000..57f617a3ec
--- /dev/null
+++ b/devtools/client/inspector/grids/test/xpcshell/test_compare_fragments_geometry.js
@@ -0,0 +1,129 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+const {
+ compareFragmentsGeometry,
+} = require("resource://devtools/client/inspector/grids/utils/utils.js");
+
+const TESTS = [
+ {
+ desc: "No fragments",
+ grids: [[], []],
+ expected: true,
+ },
+ {
+ desc: "Different number of fragments",
+ grids: [
+ [{}, {}, {}],
+ [{}, {}],
+ ],
+ expected: false,
+ },
+ {
+ desc: "Different number of columns",
+ grids: [
+ [{ cols: { lines: [{}, {}] }, rows: { lines: [] } }],
+ [{ cols: { lines: [{}] }, rows: { lines: [] } }],
+ ],
+ expected: false,
+ },
+ {
+ desc: "Different number of rows",
+ grids: [
+ [{ cols: { lines: [{}, {}] }, rows: { lines: [{}] } }],
+ [{ cols: { lines: [{}, {}] }, rows: { lines: [{}, {}] } }],
+ ],
+ expected: false,
+ },
+ {
+ desc: "Different number of rows and columns",
+ grids: [
+ [{ cols: { lines: [{}] }, rows: { lines: [{}] } }],
+ [{ cols: { lines: [{}, {}] }, rows: { lines: [{}, {}] } }],
+ ],
+ expected: false,
+ },
+ {
+ desc: "Different column sizes",
+ grids: [
+ [
+ {
+ cols: { lines: [{ start: 0 }, { start: 500 }] },
+ rows: { lines: [] },
+ },
+ ],
+ [
+ {
+ cols: { lines: [{ start: 0 }, { start: 1000 }] },
+ rows: { lines: [] },
+ },
+ ],
+ ],
+ expected: false,
+ },
+ {
+ desc: "Different row sizes",
+ grids: [
+ [
+ {
+ cols: { lines: [{ start: 0 }, { start: 500 }] },
+ rows: { lines: [{ start: -100 }] },
+ },
+ ],
+ [
+ {
+ cols: { lines: [{ start: 0 }, { start: 500 }] },
+ rows: { lines: [{ start: 0 }] },
+ },
+ ],
+ ],
+ expected: false,
+ },
+ {
+ desc: "Different row and column sizes",
+ grids: [
+ [
+ {
+ cols: { lines: [{ start: 0 }, { start: 500 }] },
+ rows: { lines: [{ start: -100 }] },
+ },
+ ],
+ [
+ {
+ cols: { lines: [{ start: 0 }, { start: 505 }] },
+ rows: { lines: [{ start: 0 }] },
+ },
+ ],
+ ],
+ expected: false,
+ },
+ {
+ desc: "Complete structure, same fragments",
+ grids: [
+ [
+ {
+ cols: { lines: [{ start: 0 }, { start: 100.3 }, { start: 200.6 }] },
+ rows: { lines: [{ start: 0 }, { start: 1000 }, { start: 2000 }] },
+ },
+ ],
+ [
+ {
+ cols: { lines: [{ start: 0 }, { start: 100.3 }, { start: 200.6 }] },
+ rows: { lines: [{ start: 0 }, { start: 1000 }, { start: 2000 }] },
+ },
+ ],
+ ],
+ expected: true,
+ },
+];
+
+function run_test() {
+ for (const { desc, grids, expected } of TESTS) {
+ if (desc) {
+ info(desc);
+ }
+ equal(compareFragmentsGeometry(grids[0], grids[1]), expected);
+ }
+}
diff --git a/devtools/client/inspector/grids/test/xpcshell/xpcshell.toml b/devtools/client/inspector/grids/test/xpcshell/xpcshell.toml
new file mode 100644
index 0000000000..83e821f9cd
--- /dev/null
+++ b/devtools/client/inspector/grids/test/xpcshell/xpcshell.toml
@@ -0,0 +1,6 @@
+[DEFAULT]
+tags = "devtools"
+firefox-appdir = "browser"
+head = "head.js"
+
+["test_compare_fragments_geometry.js"]