Unreviewed. Update W3C WebDriver imported tests.
[WebKit-https.git] / WebDriverTests / imported / w3c / webdriver / tests / cookies / delete_cookie.py
1 from tests.support.asserts import assert_error, assert_dialog_handled, assert_success
2 from tests.support.fixtures import create_dialog
3 from tests.support.inline import inline
4
5
6 def delete_cookie(session, name):
7     return session.transport.send("DELETE", "/session/%s/cookie/%s" % (session.session_id, name))
8
9
10 # 16.4 Delete Cookie
11
12
13 def test_no_browsing_context(session, create_window):
14     """
15     1. If the current top-level browsing context is no longer open,
16     return error with error code no such window.
17
18     """
19     session.window_handle = create_window()
20     session.close()
21     response = delete_cookie(session, "foo")
22     assert_error(response, "no such window")
23
24
25 def test_handle_prompt_dismiss_and_notify():
26     """TODO"""
27
28
29 def test_handle_prompt_accept_and_notify():
30     """TODO"""
31
32
33 def test_handle_prompt_ignore():
34     """TODO"""
35
36
37 def test_handle_prompt_accept(new_session, add_browser_capabilites):
38     """
39     2. Handle any user prompts and return its value if it is an error.
40
41     [...]
42
43     In order to handle any user prompts a remote end must take the
44     following steps:
45
46       [...]
47
48       2. Perform the following substeps based on the current session's
49       user prompt handler:
50
51         [...]
52
53         - accept state
54            Accept the current user prompt.
55
56     """
57     _, session = new_session({"capabilities": {"alwaysMatch": add_browser_capabilites({"unhandledPromptBehavior": "accept"})}})
58     session.url = inline("<title>WD doc title</title>")
59
60     create_dialog(session)("alert", text="dismiss #1", result_var="dismiss1")
61     response = delete_cookie(session, "foo")
62     assert response.status == 200
63     assert_dialog_handled(session, "dismiss #1")
64
65     create_dialog(session)("confirm", text="dismiss #2", result_var="dismiss2")
66     response = delete_cookie(session, "foo")
67     assert response.status == 200
68     assert_dialog_handled(session, "dismiss #2")
69
70     create_dialog(session)("prompt", text="dismiss #3", result_var="dismiss3")
71     response = delete_cookie(session, "foo")
72     assert response.status == 200
73     assert_dialog_handled(session, "dismiss #3")
74
75
76 def test_handle_prompt_missing_value(session, create_dialog):
77     """
78     2. Handle any user prompts and return its value if it is an error.
79
80     [...]
81
82     In order to handle any user prompts a remote end must take the
83     following steps:
84
85       [...]
86
87       2. Perform the following substeps based on the current session's
88       user prompt handler:
89
90         [...]
91
92         - missing value default state
93            1. Dismiss the current user prompt.
94            2. Return error with error code unexpected alert open.
95
96     """
97     session.url = inline("<title>WD doc title</title>")
98     create_dialog("alert", text="dismiss #1", result_var="dismiss1")
99
100     response = delete_cookie(session, "foo")
101
102     assert_error(response, "unexpected alert open")
103     assert_dialog_handled(session, "dismiss #1")
104
105     create_dialog("confirm", text="dismiss #2", result_var="dismiss2")
106
107     response = delete_cookie(session, "foo")
108     assert_error(response, "unexpected alert open")
109     assert_dialog_handled(session, "dismiss #2")
110
111     create_dialog("prompt", text="dismiss #3", result_var="dismiss3")
112
113     response = delete_cookie(session, "foo")
114     assert_error(response, "unexpected alert open")
115     assert_dialog_handled(session, "dismiss #3")
116
117
118 def test_unknown_cookie(session):
119     response = delete_cookie(session, "stilton")
120     assert response.status == 200
121     assert "value" in response.body
122     assert response.body["value"] is None