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_heading(self): """Tests heading messages are rendered correctly in plain text/html. """ h = Heading('FOO', -3) expected_res = '*FOO\n' res = h.to_text() self.assertEqual(expected_res, res) h = Heading('FOO', 8) expected_res = '********FOO\n' res = h.to_text() self.assertEqual(expected_res, res) expected_res = '<h6>FOO</h6>' res = h.to_html() self.assertEqual(expected_res, res)
def run(self): """Run. """ message = Message() message.add(Heading('Processing starting')) text = Text('This is an example application showing how the ') text.add(ImportantText('new Messaging system')) text.add(Text(' works in ')) text.add(EmphasizedText('InaSAFE')) text.add(Text('.')) paragraph = Paragraph(text) message.add(paragraph) paragraph = Paragraph( 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem ' 'accusantium doloremque laudantium, totam rem aperiam, ' 'eaque ipsa quae ab illo inventore veritatis et quasi architecto ' 'beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem ' 'quia voluptas sit aspernatur aut odit aut fugit, sed quia ' 'consequuntur magni dolores eos qui ratione voluptatem sequi ' 'nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor ' 'sit amet, consectetur, adipisci velit, sed quia non numquam eius ' 'modi tempora incidunt ut labore et dolore magnam aliquam quaerat ' 'voluptatem. Ut enim ad minima veniam, quis nostrum ' 'exercitationem ullam corporis suscipit laboriosam, nisi ut ' 'aliquid ex ea commodi consequatur? Quis autem vel eum iure ' 'reprehenderit qui in ea voluptate velit esse quam nihil molestiae' ' consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla' ' pariatur?') message.add(paragraph) message.add(Message( Text('This shows how you can create '), ImportantText('content inline when you create a message'), ' ', EmphasizedText('including different styles and so on.'))) dispatcher.send( signal=STATIC_MESSAGE_SIGNAL, sender=self, message=message) impact_function1 = ImpactFunction1() impact_function2 = ImpactFunction2() # Run some tasks that will spawn dynamic messages for i in range(1, 10): _ = i impact_function1.run() impact_function2.run()