diff --git a/tests/draw/test_leader.py b/tests/draw/test_leader.py index 8151189b8..7e43a8508 100644 --- a/tests/draw/test_leader.py +++ b/tests/draw/test_leader.py @@ -461,3 +461,139 @@ def test_leader_absolute(assert_pixels):
aa
bb
aa
''') + + +@assert_no_logs +def test_leader_padding(assert_pixels): + assert_pixels(''' + RR__BBBBBBBB__BB + RR__BBBBBBBB__BB + __RR__BBBB__BBBB + __RR__BBBB__BBBB + ''', ''' + +
a
+
b
+ ''') + + +@assert_no_logs +def test_leader_inline_padding(assert_pixels): + assert_pixels(''' + RR__BBBBBBBB__BB + RR__BBBBBBBB__BB + __RR__BBBB__BBBB + __RR__BBBB__BBBB + ''', ''' + +
a
+
b
+ ''') + + +@assert_no_logs +def test_leader_margin(assert_pixels): + assert_pixels(''' + RR__BBBBBBBB__BB + RR__BBBBBBBB__BB + __RR__BBBB__BBBB + __RR__BBBB__BBBB + ''', ''' + +
a
+
b
+ ''') + + +@assert_no_logs +def test_leader_inline_margin(assert_pixels): + assert_pixels(''' + RR__BBBBBBBB__BB + RR__BBBBBBBB__BB + __RR__BBBB__BBBB + __RR__BBBB__BBBB + ''', ''' + +
a
+
b
+ ''') diff --git a/weasyprint/layout/leader.py b/weasyprint/layout/leader.py index 8cb3a9fa7..434aabc02 100644 --- a/weasyprint/layout/leader.py +++ b/weasyprint/layout/leader.py @@ -28,7 +28,7 @@ def handle_leader(context, line, containing_block): # Extra width is the additional width taken by the leader box extra_width = containing_block.width - sum( - child.width for child in line.children + child.margin_width() for child in line.children if child.is_in_normal_flow()) # Take care of excluded shapes