Skip to content

Commit 6b1d32b

Browse files
committed
Add tests for page groups
1 parent 88d6872 commit 6b1d32b

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

tests/layout/test_page.py

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -969,6 +969,74 @@ def test_page_groups():
969969
assert section.element_tag == 'section'
970970

971971

972+
@assert_no_logs
973+
def test_page_groups_blank_inside():
974+
# Regression test for #1076.
975+
pages = render_pages('''
976+
<style>
977+
@page { size: 100px }
978+
@page div { size: 50px }
979+
div { page: div }
980+
p { break-before: right }
981+
</style>
982+
<div>
983+
<p>1</p>
984+
<p>2</p>
985+
</div>
986+
''')
987+
assert len(pages) == 3
988+
for page in pages:
989+
assert (page.width, page.height) == (50, 50)
990+
991+
992+
@assert_no_logs
993+
def test_page_groups_blank_outside():
994+
pages = render_pages('''
995+
<style>
996+
@page { size: 100px }
997+
@page p { size: 50px }
998+
p { page: p; break-before: right }
999+
</style>
1000+
<div>
1001+
<p>1</p>
1002+
<p>2</p>
1003+
</div>
1004+
''')
1005+
page1, page2, page3 = pages
1006+
for page in (page1, page3):
1007+
assert (page.width, page.height) == (50, 50)
1008+
assert (page2.width, page2.height) == (100, 100)
1009+
1010+
1011+
@assert_no_logs
1012+
def test_page_groups_first_nth():
1013+
# Regression test for #2429.
1014+
pages = render_pages('''
1015+
<style>
1016+
@page { size: 100px }
1017+
@page div { size: 50px }
1018+
@page :nth(2n+1 of div) { size: 30px }
1019+
div { page: div; break-before: right }
1020+
p { break-before: page }
1021+
</style>
1022+
<div>
1023+
<p>1</p>
1024+
<p>2</p>
1025+
<p>3</p>
1026+
</div>
1027+
<div>
1028+
<p>4</p>
1029+
<p>5</p>
1030+
</div>
1031+
''')
1032+
page1, page2, page3, page4, page5, page6 = pages
1033+
for page in (page1, page3, page5):
1034+
assert (page.width, page.height) == (30, 30)
1035+
for page in (page2, page6):
1036+
assert (page.width, page.height) == (50, 50)
1037+
assert (page4.width, page4.height) == (100, 100)
1038+
1039+
9721040
@assert_no_logs
9731041
@pytest.mark.parametrize('style, line_counts', (
9741042
('orphans: 2; widows: 2', [4, 3]),

0 commit comments

Comments
 (0)