Bug 1321516 - Remove specificationLevel capability draft
authorAndreas Tolfsen <ato@mozilla.com>
Thu, 06 Apr 2017 18:13:29 +0100
changeset 565900 a191ff3988f5fe3836fd2572a02667977f142163
parent 565899 765ebc29a3962e94c7d51f4473388f82a14aec46
child 565901 21540afbd83c571c1b5f01d71403e5c2b9106bfd
push id55051
push userbmo:ato@mozilla.com
push dateThu, 20 Apr 2017 17:08:50 +0000
bugs1321516
milestone55.0a1
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
testing/marionette/harness/marionette_harness/tests/unit/test_capabilities.py
testing/marionette/listener.js
testing/marionette/session.js
testing/marionette/test_session.js
--- 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();
 });