Bug 1391661 - Add Minimize Window test to wdspec; r=ato
MozReview-Commit-ID: LLJ6EXd2aKR
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -405140,16 +405140,22 @@
]
],
"webdriver/tests/maximize_window.py": [
[
"/webdriver/tests/maximize_window.py",
{}
]
],
+ "webdriver/tests/minimize_window.py": [
+ [
+ "/webdriver/tests/minimize_window.py",
+ {}
+ ]
+ ],
"webdriver/tests/navigation.py": [
[
"/webdriver/tests/navigation.py",
{}
]
],
"webdriver/tests/set_window_rect.py": [
[
@@ -624316,17 +624322,17 @@
"55100f7d505bc8cbc966ced0d1337ed78534a553",
"testharness"
],
"web-animations/animation-model/animation-types/property-list.js": [
"31ad7b4aa12e4485f95545b087779cabb56c696c",
"support"
],
"web-animations/animation-model/animation-types/property-types.js": [
- "80be6cea9cc4d5986abbdf2823e013b8e5b4bcab",
+ "f7947653d8668f236117913217d808e690476059",
"support"
],
"web-animations/animation-model/combining-effects/effect-composition.html": [
"8ac06085132d822e908d48de4c1109b66323f19f",
"testharness"
],
"web-animations/animation-model/keyframe-effects/effect-value-context.html": [
"10d9ee521240475a1729c2facfcea8b50342614e",
@@ -625079,16 +625085,20 @@
"webdriver/tests/get_window_rect.py": [
"2d4c13edc4e659af864750d0341c06ff969a687f",
"wdspec"
],
"webdriver/tests/maximize_window.py": [
"55cb76c60c7914bc024f470f6d1f0a47294b6fe3",
"wdspec"
],
+ "webdriver/tests/minimize_window.py": [
+ "99fa058dd78c2f3a2d2c34dc7096edb9ca12ac4f",
+ "wdspec"
+ ],
"webdriver/tests/navigation.py": [
"cec2987258d9c807a247da9e0216b3af1f171484",
"wdspec"
],
"webdriver/tests/set_window_rect.py": [
"89b247aae02cf1aee8c7e4832db424840b66d12d",
"wdspec"
],
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/webdriver/tests/minimize_window.py
@@ -0,0 +1,56 @@
+from tests.support.inline import inline
+from tests.support.asserts import assert_error, assert_success
+
+alert_doc = inline("<script>window.alert()</script>")
+
+# 10.7.4 Minimize Window
+def test_minimize_no_browsing_context(session, create_window):
+ # Step 1
+ session.window_handle = create_window()
+ session.close()
+ result = session.transport.send("POST", "session/%s/window/minimize" % session.session_id)
+ assert_error(result, "no such window")
+
+
+def test_handle_user_prompt(session):
+ # Step 2
+ session.url = alert_doc
+ result = session.transport.send("POST", "session/%s/window/minimize" % session.session_id)
+ assert_error(result, "unexpected alert open")
+
+
+def test_minimize(session):
+ before_size = session.window.size
+ assert session.window.state == "normal"
+
+ # step 4
+ result = session.transport.send("POST", "session/%s/window/minimize" % session.session_id)
+ assert_success(result)
+
+ assert session.window.state == "minimized"
+
+
+def test_payload(session):
+ before_size = session.window.size
+ assert session.window.state == "normal"
+
+ result = session.transport.send("POST", "session/%s/window/minimize" % session.session_id)
+
+ # step 5
+ assert result.status == 200
+ assert isinstance(result.body["value"], dict)
+
+ resp = result.body["value"]
+ assert "width" in resp
+ assert "height" in resp
+ assert "x" in resp
+ assert "y" in resp
+ assert "state" in resp
+ assert isinstance(resp["width"], (int, float))
+ assert isinstance(resp["height"], (int, float))
+ assert isinstance(resp["x"], (int, float))
+ assert isinstance(resp["y"], (int, float))
+ assert isinstance(resp["state"], basestring)
+
+ assert session.window.state == "minimized"
+