1from tests.support.asserts import assert_error, assert_success
2
3
4def get_window_rect(session):
5    return session.transport.send(
6        "GET", "session/{session_id}/window/rect".format(**vars(session)))
7
8
9def test_no_top_browsing_context(session, closed_window):
10    response = get_window_rect(session)
11    assert_error(response, "no such window")
12
13
14def test_no_browsing_context(session, closed_frame):
15    response = get_window_rect(session)
16    assert_success(response)
17
18
19def test_payload(session):
20    expected = session.execute_script("""return {
21         x: window.screenX,
22         y: window.screenY,
23         width: window.outerWidth,
24         height: window.outerHeight
25    }""")
26
27    response = get_window_rect(session)
28    value = assert_success(response)
29
30    assert isinstance(value, dict)
31    assert value == expected
32