1
1
mirror of https://github.com/Kozea/WeasyPrint.git synced 2024-10-04 07:57:52 +03:00
WeasyPrint/tests/test_acid2.py
2022-05-23 23:09:32 +02:00

35 lines
1.1 KiB
Python

"""Check the famous Acid2 test."""
import io
import pytest
from PIL import Image
from weasyprint import HTML
from .draw import assert_pixels_equal
from .testing_utils import assert_no_logs, capture_logs, resource_filename
@pytest.mark.xfail
@assert_no_logs
def test_acid2():
# TODO: fails because of Ghostscript rendering
def render(filename):
return HTML(resource_filename(filename)).render()
with capture_logs():
# This is a copy of http://www.webstandards.org/files/acid2/test.html
document = render('acid2-test.html')
intro_page, test_page = document.pages
# Ignore the intro page: it is not in the reference
test_png = document.copy([test_page]).write_png()
test_pixels = Image.open(io.BytesIO(test_png)).getdata()
# This is a copy of http://www.webstandards.org/files/acid2/reference.html
ref_png = render('acid2-reference.html').write_png()
ref_image = Image.open(io.BytesIO(ref_png))
ref_pixels = ref_image.getdata()
width, height = ref_image.size
assert_pixels_equal(width, height, test_pixels, ref_pixels, tolerance=2)