def test_rigid_connection(self): cells = tl.normalize_cells(str2cells("t~t t t")) result = tl.group_non_breakable_cells(cells) assert isinstance(result[0], tl.RigidConnection) assert isinstance(result[1], tl.Space) assert isinstance(result[2], tl.Text) assert isinstance(result[3], tl.Space) assert isinstance(result[4], tl.Text)
def test_preserve_prepending_space(self, content): cells = list(tl.normalize_cells(str2cells(content))) assert cells2str(cells) == content
def test_remove_pending_glue(self): for glue in permutations([' ', '~', ' ']): content = 't' + "".join(glue) cells = list(tl.normalize_cells(str2cells(content))) assert cells2str(cells) == 't'
def test_preserve_multiple_spaces(self, content): cells = tl.normalize_cells(str2cells(content)) assert cells2str(cells) == content
def test_replace_useless_nbsp_by_spaces(self, content): cells = tl.normalize_cells(str2cells(content)) assert cells2str(cells) == content.replace('~', ' ')
def test_no_glue_between_content_raises_value_error(self, content): cells = str2cells(content) with pytest.raises(ValueError): list(tl.normalize_cells(cells))
def test_remove_pending_glue(self): for glue in permutations([" ", "~", " ", "#"]): content = "t" + "".join(glue) cells = list(tl.normalize_cells(str2cells(content))) assert cells2str(cells) == "t"
def test_ignore_pending_non_breaking_space(self): cells = tl.normalize_cells(str2cells("t~t~")) result = tl.group_non_breakable_cells(cells) assert len(result) == 1
def test_create_two_connections(self, content): cells = tl.normalize_cells(str2cells(content)) result = tl.group_non_breakable_cells(cells) assert len(result) == 3 assert isinstance(result[1], tl.Space)
def test_create_one_connection(self, content): cells = tl.normalize_cells(str2cells(content)) result = tl.group_non_breakable_cells(cells) assert len(result) == 1
def test_ignore_non_breaking_space_between_text_and_fraction( self, content): cells = str2cells(content) result = tl.normalize_cells(cells) assert len(result) == 3