mirror of
https://github.com/Kozea/WeasyPrint.git
synced 2024-10-05 16:37:47 +03:00
Test OpenType features only with Pango 1.38+
This commit is contained in:
parent
db54e8e3ff
commit
fa736a497c
@ -52,23 +52,25 @@ def save_pixels_to_png(pixels, width, height, filename):
|
||||
).write_to_png(filename)
|
||||
|
||||
|
||||
def requires_cairo(version):
|
||||
def requires(library, version):
|
||||
tuple_version = [0, 0, 0]
|
||||
for i, number in enumerate(version.split('.')):
|
||||
tuple_version[i] = int(number)
|
||||
version_number = int(''.join('%02i' % number for number in tuple_version))
|
||||
|
||||
def require_cairo_version(test):
|
||||
def require_version(test):
|
||||
@functools.wraps(test)
|
||||
def decorated_test():
|
||||
if cairo.cairo_version() < version_number:
|
||||
library_version = getattr(
|
||||
globals()[library], '%s_version' % library)()
|
||||
if library_version < version_number:
|
||||
print('Running cairo %s but this test requires %s+' % (
|
||||
cairo.cairo_version_string(), version))
|
||||
pytest.xfail()
|
||||
test()
|
||||
return decorated_test
|
||||
|
||||
return require_cairo_version
|
||||
return require_version
|
||||
|
||||
|
||||
def assert_pixels(name, expected_width, expected_height, expected_pixels,
|
||||
@ -1517,7 +1519,7 @@ def test_visibility():
|
||||
|
||||
|
||||
@assert_no_logs
|
||||
@requires_cairo('1.12')
|
||||
@requires('cairo', '1.12')
|
||||
def test_tables():
|
||||
# TODO: refactor colspan/rowspan into CSS:
|
||||
# td, th { column-span: attr(colspan integer) }
|
||||
@ -2308,7 +2310,7 @@ def test_overflow():
|
||||
|
||||
|
||||
@assert_no_logs
|
||||
@requires_cairo('1.12')
|
||||
@requires('cairo', '1.12')
|
||||
def test_clip():
|
||||
"""Test the clip property."""
|
||||
num = [0]
|
||||
@ -2750,7 +2752,7 @@ def test_2d_transform():
|
||||
|
||||
|
||||
@assert_no_logs
|
||||
@requires_cairo('1.12')
|
||||
@requires('cairo', '1.12')
|
||||
def test_acid2():
|
||||
"""A local version of http://acid2.acidtests.org/"""
|
||||
def render(filename):
|
||||
@ -2775,7 +2777,7 @@ def test_acid2():
|
||||
|
||||
|
||||
@assert_no_logs
|
||||
@requires_cairo('1.14')
|
||||
@requires('cairo', '1.14')
|
||||
def test_linear_gradients():
|
||||
assert_pixels('linear_gradient', 5, 9, [
|
||||
_+_+_+_+_,
|
||||
|
@ -10,6 +10,7 @@
|
||||
|
||||
"""
|
||||
|
||||
from .test_draw import requires
|
||||
from .test_layout import parse
|
||||
from .testing_utils import assert_no_logs
|
||||
|
||||
@ -29,6 +30,7 @@ def test_font_face():
|
||||
|
||||
|
||||
@assert_no_logs
|
||||
@requires('pango', '1.38')
|
||||
def test_default():
|
||||
# Kerning and ligatures are on by default
|
||||
page, = parse('''
|
||||
@ -93,6 +95,7 @@ def test_default():
|
||||
|
||||
|
||||
@assert_no_logs
|
||||
@requires('pango', '1.38')
|
||||
def test_font_face_descriptors():
|
||||
page, = parse(
|
||||
'''
|
||||
|
@ -14,7 +14,7 @@ from __future__ import division, unicode_literals
|
||||
|
||||
from .testing_utils import assert_no_logs, capture_logs
|
||||
from .test_boxes import render_pages as parse
|
||||
from .test_draw import requires_cairo, assert_pixels
|
||||
from .test_draw import requires, assert_pixels
|
||||
|
||||
|
||||
@assert_no_logs
|
||||
@ -1480,7 +1480,7 @@ def test_table_row_height():
|
||||
|
||||
|
||||
@assert_no_logs
|
||||
@requires_cairo('1.12')
|
||||
@requires('cairo', '1.12')
|
||||
def test_table_vertical_align():
|
||||
from .test_draw import _, r, B
|
||||
assert_pixels('table_vertical_align', 28, 10, [
|
||||
|
Loading…
Reference in New Issue
Block a user