Bug 1321516 - Remove specificationLevel capability
The specificationLevel capability was an early addition to Marionette used
to enable our WebDriver conforming Element Click command implementation.
This patch removes the capability from Marionette, and preceding patches
in this changeset have deleted the old implementation of Element Click
in favour of the specification conforming one.
MozReview-Commit-ID: 5t8Mq5bzuXJ
--- a/testing/marionette/harness/marionette_harness/tests/unit/test_capabilities.py
+++ b/testing/marionette/harness/marionette_harness/tests/unit/test_capabilities.py
@@ -52,29 +52,16 @@ class TestCapabilities(MarionetteTestCas
current_profile = self.marionette.instance.runner.device.app_ctx.remote_profile
else:
current_profile = self.marionette.instance.runner.profile.profile
self.assertEqual(self.caps["moz:profile"], current_profile)
self.assertEqual(self.marionette.profile, current_profile)
self.assertIn("moz:accessibilityChecks", self.caps)
self.assertFalse(self.caps["moz:accessibilityChecks"])
- self.assertIn("specificationLevel", self.caps)
- self.assertEqual(self.caps["specificationLevel"], 0)
-
- def test_set_specification_level(self):
- self.marionette.delete_session()
- self.marionette.start_session({"desiredCapabilities": {"specificationLevel": 2}})
- caps = self.marionette.session_capabilities
- self.assertEqual(2, caps["specificationLevel"])
-
- self.marionette.delete_session()
- self.marionette.start_session({"requiredCapabilities": {"specificationLevel": 3}})
- caps = self.marionette.session_capabilities
- self.assertEqual(3, caps["specificationLevel"])
def test_we_can_pass_in_required_capabilities_on_session_start(self):
self.marionette.delete_session()
capabilities = {"requiredCapabilities": {"browserName": self.appinfo["name"].lower()}}
self.marionette.start_session(capabilities)
caps = self.marionette.session_capabilities
self.assertIn("browserName", caps)
--- a/testing/marionette/listener.js
+++ b/testing/marionette/listener.js
@@ -1253,18 +1253,17 @@ function getActiveElement() {
*
* @param {WebElement} id
* Reference to the web element to click.
*/
function clickElement(id) {
let el = seenEls.get(id, curContainer);
return interaction.clickElement(
el,
- capabilities.get("moz:accessibilityChecks"),
- capabilities.get("specificationLevel") >= 1);
+ capabilities.get("moz:accessibilityChecks"));
}
function getElementAttribute(id, name) {
let el = seenEls.get(id, curContainer);
if (element.isBooleanAttribute(el, name)) {
if (el.hasAttribute(name)) {
return "true";
} else {
--- a/testing/marionette/session.js
+++ b/testing/marionette/session.js
@@ -226,17 +226,16 @@ session.Capabilities = class extends Map
["acceptInsecureCerts", false],
["timeouts", new session.Timeouts()],
["proxy", new session.Proxy()],
// features
["rotatable", appinfo.name == "B2G"],
// proprietary
- ["specificationLevel", 0],
["moz:processID", Services.appinfo.processID],
["moz:profile", maybeProfile()],
["moz:accessibilityChecks", false],
]);
}
set (key, value) {
if (key === "timeouts" && !(value instanceof session.Timeouts)) {
@@ -369,21 +368,16 @@ session.Capabilities = class extends Map
matched.set("proxy", proxy);
break;
case "timeouts":
let timeouts = session.Timeouts.fromJSON(v);
matched.set("timeouts", timeouts);
break;
- case "specificationLevel":
- assert.positiveInteger(v);
- matched.set("specificationLevel", v);
- break;
-
case "moz:accessibilityChecks":
assert.boolean(v);
matched.set("moz:accessibilityChecks", v);
break;
}
}
return matched;
--- a/testing/marionette/test_session.js
+++ b/testing/marionette/test_session.js
@@ -236,17 +236,16 @@ add_test(function test_Capabilities_ctor
ok(caps.has("platformVersion"));
equal(session.PageLoadStrategy.Normal, caps.get("pageLoadStrategy"));
equal(false, caps.get("acceptInsecureCerts"));
ok(caps.get("timeouts") instanceof session.Timeouts);
ok(caps.get("proxy") instanceof session.Proxy);
ok(caps.has("rotatable"));
- equal(0, caps.get("specificationLevel"));
ok(caps.has("moz:processID"));
ok(caps.has("moz:profile"));
equal(false, caps.get("moz:accessibilityChecks"));
run_next_test();
});
add_test(function test_Capabilities_toString() {
@@ -265,17 +264,16 @@ add_test(function test_Capabilities_toJS
equal(caps.get("platformVersion"), json.platformVersion);
equal(caps.get("pageLoadStrategy"), json.pageLoadStrategy);
equal(caps.get("acceptInsecureCerts"), json.acceptInsecureCerts);
deepEqual(caps.get("timeouts").toJSON(), json.timeouts);
equal(undefined, json.proxy);
equal(caps.get("rotatable"), json.rotatable);
- equal(caps.get("specificationLevel"), json.specificationLevel);
equal(caps.get("moz:processID"), json["moz:processID"]);
equal(caps.get("moz:profile"), json["moz:profile"]);
equal(caps.get("moz:accessibilityChecks"), json["moz:accessibilityChecks"]);
run_next_test();
});
add_test(function test_Capabilities_fromJSON() {
@@ -354,22 +352,16 @@ add_test(function test_Capabilities_from
let proxyConfig = {proxyType: "manual"};
caps = fromJSON({proxy: proxyConfig});
equal("manual", caps.get("proxy").proxyType);
let timeoutsConfig = {implicit: 123};
caps = fromJSON({timeouts: timeoutsConfig});
equal(123, caps.get("timeouts").implicit);
- equal(0, caps.get("specificationLevel"));
- caps = fromJSON({specificationLevel: 123});
- equal(123, caps.get("specificationLevel"));
- Assert.throws(() => fromJSON({specificationLevel: "foo"}));
- Assert.throws(() => fromJSON({specificationLevel: -1}));
-
caps = fromJSON({"moz:accessibilityChecks": true});
equal(true, caps.get("moz:accessibilityChecks"));
caps = fromJSON({"moz:accessibilityChecks": false});
equal(false, caps.get("moz:accessibilityChecks"));
Assert.throws(() => fromJSON({"moz:accessibilityChecks": "foo"}));
run_next_test();
});