summaryrefslogtreecommitdiffstats
path: root/testing/marionette/test_element.js
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /testing/marionette/test_element.js
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'testing/marionette/test_element.js')
-rw-r--r--testing/marionette/test_element.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/testing/marionette/test_element.js b/testing/marionette/test_element.js
new file mode 100644
index 000000000..f565bd8c0
--- /dev/null
+++ b/testing/marionette/test_element.js
@@ -0,0 +1,55 @@
+/* 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/. */
+
+const {utils: Cu} = Components;
+
+Cu.import("chrome://marionette/content/element.js");
+
+let el = {
+ getBoundingClientRect: function() {
+ return {
+ top: 0,
+ left: 0,
+ width: 100,
+ height: 100,
+ };
+ }
+};
+
+add_test(function test_coordinates() {
+ let p = element.coordinates(el);
+ ok(p.hasOwnProperty("x"));
+ ok(p.hasOwnProperty("y"));
+ equal("number", typeof p.x);
+ equal("number", typeof p.y);
+
+ deepEqual({x: 50, y: 50}, element.coordinates(el));
+ deepEqual({x: 10, y: 10}, element.coordinates(el, 10, 10));
+ deepEqual({x: -5, y: -5}, element.coordinates(el, -5, -5));
+
+ Assert.throws(() => element.coordinates(null));
+
+ Assert.throws(() => element.coordinates(el, "string", undefined));
+ Assert.throws(() => element.coordinates(el, undefined, "string"));
+ Assert.throws(() => element.coordinates(el, "string", "string"));
+ Assert.throws(() => element.coordinates(el, {}, undefined));
+ Assert.throws(() => element.coordinates(el, undefined, {}));
+ Assert.throws(() => element.coordinates(el, {}, {}));
+ Assert.throws(() => element.coordinates(el, [], undefined));
+ Assert.throws(() => element.coordinates(el, undefined, []));
+ Assert.throws(() => element.coordinates(el, [], []));
+
+ run_next_test();
+});
+
+add_test(function test_isWebElementReference() {
+ strictEqual(element.isWebElementReference({[element.Key]: "some_id"}), true);
+ strictEqual(element.isWebElementReference({[element.LegacyKey]: "some_id"}), true);
+ strictEqual(element.isWebElementReference(
+ {[element.LegacyKey]: "some_id", [element.Key]: "2"}), true);
+ strictEqual(element.isWebElementReference({}), false);
+ strictEqual(element.isWebElementReference({"key": "blah"}), false);
+
+ run_next_test();
+});