1from tests.support.asserts import assert_success
2
3
4def get_window_handles(session):
5    return session.transport.send(
6        "GET", "session/{session_id}/window/handles".format(**vars(session)))
7
8
9def test_no_top_browsing_context(session, closed_window):
10    response = get_window_handles(session)
11    assert_success(response, session.handles)
12
13
14def test_no_browsing_context(session, closed_frame):
15    response = get_window_handles(session)
16    assert_success(response, session.handles)
17
18
19def test_single_window(session):
20    response = get_window_handles(session)
21    value = assert_success(response)
22
23    assert len(value) == 1
24    assert value == session.handles
25    assert value[0] == session.window_handle
26
27
28def test_multiple_windows(session):
29    original_handle = session.window_handle
30    new_handle = session.new_window()
31
32    response = get_window_handles(session)
33    value = assert_success(response)
34
35    assert len(value) == 2
36    assert original_handle in value
37    assert new_handle in value
38