summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/mozilla/tests/webdriver/take_full_screenshot/screenshot.py
blob: 02373afd5726b05f625cb3296ab3a8db38cb9dbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from tests.support.asserts import assert_error, assert_png, assert_success
from tests.support.image import png_dimensions

from . import document_dimensions


def take_full_screenshot(session):
    return session.transport.send(
        "GET",
        "/session/{session_id}/moz/screenshot/full".format(
            session_id=session.session_id
        ),
    )


def test_no_browsing_context(session, closed_window):
    response = take_full_screenshot(session)
    assert_error(response, "no such window")


def test_html_document(session, inline):
    session.url = inline("<input>")

    response = take_full_screenshot(session)
    value = assert_success(response)
    assert_png(value)
    assert png_dimensions(value) == document_dimensions(session)


def test_xhtml_document(session, inline):
    session.url = inline('<input type="text" />', doctype="xhtml")

    response = take_full_screenshot(session)
    value = assert_success(response)
    assert_png(value)
    assert png_dimensions(value) == document_dimensions(session)


def test_document_extends_beyond_viewport(session, inline):
    session.url = inline(
        """
        <style>
        body { min-height: 200vh }
        </style>
        """
    )

    response = take_full_screenshot(session)
    value = assert_success(response)
    assert_png(value)
    assert png_dimensions(value) == document_dimensions(session)