def test_complex_message(self): """Tests complex messages are rendered correctly in plain text/html """ h1 = Heading('h1 title') h2 = Heading('h2 subtitle', 2) p1 = Paragraph('the quick brown fox jumps over the lazy dog') t1 = Text('this is a text, ') t1.add(Text('this is another text ')) ts = ImportantText('and this is a strong text') t1.add(ts) tl = Link('http://google.ch', 'google link') t1.add(tl) tp = Text('text for paragraph ') em = EmphasizedText('this is an emphasized paragraph text') im = Image( 'http://www.google.ch/images/srpr/logo4w.png', 'Google logo') tp.add(im) tp.add(em) im = Image('http://www.google.ch/images/srpr/NoText.png') tp.add(im) p2 = Paragraph(tp) m = Message() m.add(h1) m.add(h2) m.add(p1) m.add(t1) m.add(p2) expected_res = ( '*h1 title\n\n' '**h2 subtitle\n\n' ' the quick brown fox jumps over the lazy dog\n\n' 'this is a text, this is another text *and this is a strong text* ' '::google link [http://google.ch]\n' ' text for paragraph ::Google logo ' '[http://www.google.ch/images/srpr/logo4w.png] ' '_this is an emphasized paragraph text_' ' ::http://www.google.ch/images/srpr/NoText.png\n\n') res = m.to_text() self.assertEqual(expected_res, res) expected_res = ( '<h1>h1 title</h1>\n' '<h2>h2 subtitle</h2>\n' '<p>the quick brown fox jumps over the lazy dog</p>\n' 'this is a text, this is another text <strong>and this is a strong' ' text</strong> <a href="http://google.ch">google link</a>\n' '<p>text for paragraph <img src="' 'http://www.google.ch/images/srpr/logo4w.png" title="Google logo" ' 'alt="Google logo" /> <em>this is an emphasized paragraph text' '</em> <img src="http://www.google.ch/images/srpr/NoText.png" ' 'title="" ' 'alt="" /></p>\n') res = m.to_html() self.assertEqual(expected_res, res)
def test_message(self): """Tests high level messages are rendered correctly in plain text/html. """ m1 = Message('FOO') expected_res = 'FOO' res = m1.to_text() self.assertEqual(expected_res, res) m2 = Message(m1) expected_res = 'FOO\n' res = m2.to_text() self.assertEqual(expected_res, res) m3 = Message(Message('FOO')) m3.add(Message('BAR')) expected_res = 'FOO\nBAR\n' res = m3.to_text() self.assertEqual(expected_res, res)
def test_line_break(self): """Tests Line Break messages are rendered correctly in plain text/html. """ t1 = Message('FOO', LineBreak()) expected_res = 'FOO\n' res = t1.to_text() self.assertEqual(expected_res, res) expected_res = 'FOO<br/>\n' res = t1.to_html() self.assertEqual(expected_res, res)