Bug 1392368 - Improve edge case in-op tests for Set Window Rect. r?automatedtester draft
authorAndreas Tolfsen <ato@sny.no>
Tue, 22 Aug 2017 15:19:38 +0100
changeset 653181 473efc4f6974e3902ff1fafc3454098b4249abc8
parent 653180 7316875b6b2a427144e4a5db3da6f07e9fb68d0e
child 653182 9f79357e5d7344fc5f089f6bef9edae55255c561
push id76248
push userbmo:ato@sny.no
push dateFri, 25 Aug 2017 16:27:14 +0000
reviewersautomatedtester
bugs1392368
milestone57.0a1
Bug 1392368 - Improve edge case in-op tests for Set Window Rect. r?automatedtester Marionette has issues with repositioning/resizing the window when one of width/height/x/y is the rect's existing value. This is an edge case it is worth testing for. MozReview-Commit-ID: 7E46ly2lIiY
testing/web-platform/tests/webdriver/tests/set_window_rect.py
--- a/testing/web-platform/tests/webdriver/tests/set_window_rect.py
+++ b/testing/web-platform/tests/webdriver/tests/set_window_rect.py
@@ -453,29 +453,50 @@ def test_negative_x_y(session):
     elif os == "windows_nt":
         assert_success(response, {"x": -8,
                                   "y": -8,
                                   "width": original["width"],
                                   "height": original["height"],
                                   "state": original["state"]})
 
 
-def test_x_y_as_current(session):
-    original = session.window.rect
+def test_move_to_same_position(session):
+    original_position = session.window.position
+    position = session.window.position = (int(original_position[0]), int(original_position[1]))
+    assert position == original_position
+
 
-    # step 13
-    response = set_window_rect(session, {"x": int(original["x"]),
-                                         "y": int(original["y"])})
+def test_move_to_same_x(session):
+    original_x = session.window.position[0]
+    position = session.window.position = (int(original_x), 345)
+    assert position == (original_x, 345)
+
+
+def test_move_to_same_y(session):
+    original_y = session.window.position[1]
+    position = session.window.position = (456, int(original_y))
+    assert position == (456, original_y)
 
-    # step 14
-    assert_success(response, {"x": original["x"],
-                              "y": original["y"],
-                              "width": original["width"],
-                              "height": original["height"],
-                              "state": original["state"]})
+
+def test_resize_to_same_size(session):
+    original_size = session.window.size
+    size = session.window.size = (int(original_size[0]), int(original_size[1]))
+    assert size == original_size
+
+
+def test_resize_to_same_width(session):
+    original_width = session.window.size[0]
+    size = session.window.size = (int(original_width), 345)
+    assert size == (original_width, 345)
+
+
+def test_resize_to_same_height(session):
+    original_height = session.window.size[1]
+    size = session.window.size = (456, int(original_height))
+    assert size == (456, original_height)
 
 
 def test_payload(session):
     # step 14
     response = set_window_rect(session, {"x": 400, "y": 400})
 
     assert response.status == 200
     assert isinstance(response.body["value"], dict)