tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

screenshot.py (1344B)


      1 from tests.support.asserts import assert_error, assert_png, assert_success
      2 from tests.support.image import png_dimensions
      3 
      4 from . import document_dimensions
      5 
      6 
      7 def take_full_screenshot(session):
      8    return session.transport.send(
      9        "GET",
     10        f"/session/{session.session_id}/moz/screenshot/full",
     11    )
     12 
     13 
     14 def test_no_browsing_context(session, closed_window):
     15    response = take_full_screenshot(session)
     16    assert_error(response, "no such window")
     17 
     18 
     19 def test_html_document(session, inline):
     20    session.url = inline("<input>")
     21 
     22    response = take_full_screenshot(session)
     23    value = assert_success(response)
     24    assert_png(value)
     25    assert png_dimensions(value) == document_dimensions(session)
     26 
     27 
     28 def test_xhtml_document(session, inline):
     29    session.url = inline('<input type="text" />', doctype="xhtml")
     30 
     31    response = take_full_screenshot(session)
     32    value = assert_success(response)
     33    assert_png(value)
     34    assert png_dimensions(value) == document_dimensions(session)
     35 
     36 
     37 def test_document_extends_beyond_viewport(session, inline):
     38    session.url = inline(
     39        """
     40        <style>
     41        body { min-height: 200vh }
     42        </style>
     43        """
     44    )
     45 
     46    response = take_full_screenshot(session)
     47    value = assert_success(response)
     48    assert_png(value)
     49    assert png_dimensions(value) == document_dimensions(session)