def test_set_bookmark_with_limits(self): paragraph = Paragraph("aa bb bb aa") paragraph.set_bookmark("bookmark", position=(6, 8)) expected = ( "<text:p>aa bb " '<text:bookmark-start text:name="bookmark"/>' "bb" '<text:bookmark-end text:name="bookmark"/>' " aa" "</text:p>" ) self.assertEqual(paragraph.serialize(), expected)
def test_set_bookmark_with_role(self): paragraph = Paragraph("aa") paragraph.set_bookmark("bookmark", role="start") paragraph.set_bookmark("bookmark", role="end", position=-1) expected = ( "<text:p>" '<text:bookmark-start text:name="bookmark"/>' "aa" '<text:bookmark-end text:name="bookmark"/>' "</text:p>" ) self.assertEqual(paragraph.serialize(), expected)
def test_set_bookmark_with_after_without_position(self): paragraph = Paragraph("aa bb aa aa cc aa dd") paragraph.set_span(style="style", regex="bb aa aa") paragraph.set_span(style="style", regex="dd") paragraph.set_bookmark("bookmark", after="aa") expected = ( '<text:p>aa<text:bookmark text:name="bookmark"/> ' '<text:span text:style-name="style">bb aa aa' "</text:span>" ' cc aa <text:span text:style-name="style">dd</text:span>' "</text:p>" ) self.assertEqual(paragraph.serialize(), expected)
def test_set_bookmark_with_position(self): paragraph = Paragraph("aa bb aa aa cc aa dd") paragraph.set_span(style="style", regex="bb aa aa") paragraph.set_span(style="style", regex="dd") paragraph.set_bookmark("bookmark1", position=0) paragraph.set_bookmark("bookmark2", position=2) paragraph.set_bookmark("bookmark3", position=len("aa bb aa aa cc aa dd")) expected = ( '<text:p><text:bookmark text:name="bookmark1"/>aa' '<text:bookmark text:name="bookmark2"/> ' '<text:span text:style-name="style">bb aa aa</text:span>' ' cc aa <text:span text:style-name="style">dd' '<text:bookmark text:name="bookmark3"/></text:span>' "</text:p>" ) self.assertEqual(paragraph.serialize(), expected)
def test_set_bookmark_with_end(self): paragraph = Paragraph("aa bb aa aa cc aa dd") paragraph.set_span(style="style", regex="bb aa aa") paragraph.set_span(style="style", regex="dd") paragraph.set_bookmark("bookmark1", after="cc", position=-1) paragraph.set_bookmark("bookmark2", position=-1) expected = ( "<text:p>aa " '<text:span text:style-name="style">' "bb aa aa" "</text:span>" ' cc<text:bookmark text:name="bookmark1"/> aa ' '<text:span text:style-name="style">dd</text:span>' '<text:bookmark text:name="bookmark2"/>' "</text:p>" ) self.assertEqual(paragraph.serialize(), expected)