tor-browser

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

iframe.py (1328B)


      1 import pytest
      2 from tests.support.asserts import assert_success
      3 from tests.support.image import png_dimensions
      4 
      5 from . import document_dimensions
      6 
      7 DEFAULT_CSS_STYLE = """
      8    <style>
      9      div, iframe {
     10        display: block;
     11        border: 1px solid blue;
     12        width: 10em;
     13        height: 10em;
     14      }
     15    </style>
     16 """
     17 
     18 DEFAULT_CONTENT = "<div>Lorem ipsum dolor sit amet.</div>"
     19 
     20 
     21 def take_full_screenshot(session):
     22    return session.transport.send(
     23        "GET",
     24        f"/session/{session.session_id}/moz/screenshot/full",
     25    )
     26 
     27 
     28 @pytest.mark.parametrize("domain", ["", "alt"], ids=["same_origin", "cross_origin"])
     29 def test_source_origin(session, url, domain, inline, iframe):
     30    session.url = inline(f"""{DEFAULT_CSS_STYLE}{DEFAULT_CONTENT}""")
     31 
     32    response = take_full_screenshot(session)
     33    reference_screenshot = assert_success(response)
     34    assert png_dimensions(reference_screenshot) == document_dimensions(session)
     35 
     36    iframe_content = f"<style>body {{ margin: 0; }}</style>{DEFAULT_CONTENT}"
     37    session.url = inline(
     38        f"""{DEFAULT_CSS_STYLE}{iframe(iframe_content, domain=domain)}"""
     39    )
     40 
     41    response = take_full_screenshot(session)
     42    screenshot = assert_success(response)
     43    assert png_dimensions(screenshot) == document_dimensions(session)
     44 
     45    assert screenshot == reference_screenshot