Source for: test_layout.py [raw]
1import pytest
2
3import boxes
4
5lipsum = (
6 "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
7 " Nulla sollicitudin justo id libero pharetra, at vehicula nisi "
8 "pharetra. Nullam sit amet porttitor arcu. Duis purus dui, luctus"
9 " ut ante sed, varius rhoncus diam. Donec faucibus erat in venenatis"
10 " dignissim. Cras vitae faucibus dui, a feugiat elit. Fusce non egestas"
11 " velit, nec suscipit erat.\n\n"
12)
13
14
15def test_page_overflow(tmpdir):
16 """When laying down text, it should not extend below the page."""
17
18 # Create a normal text layout
19 pages = boxes.create_pages((30, 50))
20 text = lipsum * 20
21 inp = tmpdir.mkdir("sub").join("lipsum.txt")
22 inp.write(text)
23 text_boxes = boxes.create_text_boxes(inp)
24
25 boxes.layout(text_boxes, pages, 0.05)
26
27 max_y = max(b.y + b.h for b in text_boxes)
28 assert max_y < pages[0].h
29