def test_sequential_styles(self): rich = plain('plain') + bold('b') + italic('i') write_text(self.out, rich, False) self.assertEqual( self.out.getvalue(), ' <Text>plain</Text>\n' ' <Text Style="Bold">b</Text>\n' ' <Text Style="Italic">i</Text>\n')
def test_overlapping_underscore_and_italic(self): # It's unclear what result to expect in this case. # This is one way of interpreting it self.assertEquals( parse_emphasis('_*he_llo*'), (italic + underline)('he') + italic('llo') )
def test_to_html(self): s = ( bold('bold') + plain(' normal ') + italic('italic') + underline('wonderline') ) self.assertEquals( '<strong>bold</strong> normal <em>italic</em><u>wonderline</u>', s.to_html() )
def test_sequential_styles(self): rich = plain('plain') + bold('b') + italic('i') write_text(self.out, rich, False) self.assertEqual( self.out.getvalue(), ' <Text>plain</Text>\n' ' <Text Style="Bold">b</Text>\n' ' <Text Style="Italic">i</Text>\n' )
def test_complicated(self): # As reported by Stu self.assertEquals( parse_emphasis( 'You can _underline_ words, make them **bold** or *italic* ' 'or even ***bold italic.***'), (plain('You can ') + underline('underline') + plain(' words, make them ') + bold('bold') + plain(' or ') + italic('italic') + plain(' or even ') + (bold + italic)('bold italic.')))
def test_complicated(self): # As reported by Stu self.assertEquals( parse_emphasis( 'You can _underline_ words, make them **bold** or *italic* ' 'or even ***bold italic.***' ), ( plain('You can ') + underline('underline') + plain(' words, make them ') + bold('bold') + plain(' or ') + italic('italic') + plain(' or even ') + (bold + italic)('bold italic.') ) )
def test_two_italic_should_not_create_one_long_italic_string(self): self.assertEquals( parse_emphasis('*first* *second*'), italic('first') + plain(' ') + italic('second') )
def test_simplified_complicated(self): self.assertEquals( parse_emphasis('*italic* or even ***bold italic.***'), italic('italic') + plain(' or even ') + (bold + italic)('bold italic.') )
def test_additional_star(self): self.assertEquals( parse_emphasis('*foo* bar* baz'), italic('foo') + plain(' bar* baz') )
def test_bold_inside_italic(self): self.assertEquals( parse_emphasis('*Swedish **style** rules*'), italic('Swedish ') + (bold + italic)('style') + italic(' rules') )
def test_italic(self): self.assertEquals( parse_emphasis('*Italian style*'), italic('Italian style') )