| from tests.support.asserts import assert_error, assert_success |
| from tests.support.helpers import is_fullscreen |
| |
| |
| def fullscreen(session): |
| return session.transport.send( |
| "POST", "session/{session_id}/window/fullscreen".format(**vars(session))) |
| |
| |
| def test_no_top_browsing_context(session, closed_window): |
| response = fullscreen(session) |
| assert_error(response, "no such window") |
| |
| |
| def test_no_browsing_context(session, closed_frame): |
| response = fullscreen(session) |
| assert_success(response) |
| |
| |
| def test_fullscreen(session): |
| response = fullscreen(session) |
| assert_success(response) |
| |
| assert is_fullscreen(session) |
| |
| |
| def test_payload(session): |
| response = fullscreen(session) |
| |
| assert response.status == 200 |
| assert isinstance(response.body["value"], dict) |
| |
| value = response.body["value"] |
| assert "width" in value |
| assert "height" in value |
| assert "x" in value |
| assert "y" in value |
| assert isinstance(value["width"], int) |
| assert isinstance(value["height"], int) |
| assert isinstance(value["x"], int) |
| assert isinstance(value["y"], int) |
| |
| |
| def test_fullscreen_twice_is_idempotent(session): |
| assert not is_fullscreen(session) |
| |
| first_response = fullscreen(session) |
| assert_success(first_response) |
| assert is_fullscreen(session) |
| |
| second_response = fullscreen(session) |
| assert_success(second_response) |
| assert is_fullscreen(session) |