Source for: test_fill_row.py [raw]
1import pytest
2
3import boxes
4
5
6def test_fill_row():
7 letters = [boxes.Box(letter="x", x=i, w=1) for i in range(100)]
8 letters[90].letter = " "
9 page = boxes.Box(x=0, y=0, w=30, h=30)
10 row = boxes.fill_row(letters, page, 0)
11 assert len(row) == 91
12 assert len(letters) == 9
13 assert row[-1].letter == " "
14
15
16def test_fill_row_with_breaking_chars():
17 letters = [boxes.Box(letter=" ", x=i, w=1) for i in range(100)]
18 page = boxes.Box(x=0, y=0, w=30, h=30)
19 row = boxes.fill_row(letters, page, 0)
20 assert len(row) == 31
21 assert len(letters) == 69
22
23
24def test_fill_row_with_a_newline():
25 letters = [boxes.Box(letter="x", x=i, w=1) for i in range(100)]
26 letters[90].letter = "\n"
27 page = boxes.Box(x=0, y=0, w=30, h=30)
28 row = boxes.fill_row(letters, page, 0)
29 assert len(row) == 91
30 assert len(letters) == 9
31 assert row[-1].letter == "\n"
32