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