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