debian-weasyprint/weasyprint/tests/test_draw/test_opacity.py

64 lines
1.7 KiB
Python

"""
weasyprint.tests.test_draw.test_opacity
---------------------------------------
Test opacity.
:copyright: Copyright 2011-2019 Simon Sapin and contributors, see AUTHORS.
:license: BSD, see LICENSE for details.
"""
from ..testing_utils import assert_no_logs
from . import assert_same_rendering
opacity_source = '''
<style>
@page { size: 60px 60px }
body { margin: 0; background: #fff }
div { background: #000; width: 20px; height: 20px }
</style>
%s'''
@assert_no_logs
def test_opacity_1():
assert_same_rendering(60, 60, [
('opacity_0_reference', opacity_source % '''
<div></div>
'''),
('opacity_0', opacity_source % '''
<div></div>
<div style="opacity: 0"></div>
'''),
])
@assert_no_logs
def test_opacity_2():
assert_same_rendering(60, 60, [
('opacity_color_reference', opacity_source % '''
<div style="background: rgb(102, 102, 102)"></div>
'''),
('opacity_color', opacity_source % '''
<div style="opacity: 0.6"></div>
'''),
])
@assert_no_logs
def test_opacity_3():
assert_same_rendering(60, 60, [
('opacity_multiplied_reference', opacity_source % '''
<div style="background: rgb(102, 102, 102)"></div>
'''),
('opacity_multiplied', opacity_source % '''
<div style="opacity: 0.6"></div>
'''),
('opacity_multiplied_2', opacity_source % '''
<div style="background: none; opacity: 0.666666">
<div style="opacity: 0.9"></div>
</div>
'''), # 0.9 * 0.666666 == 0.6
])