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 error_creator5(): """Raise a safe style error and append a full message.""" try: error_creator4() except SafeError, e4: message = ErrorMessage( 'Creator 5 problem', detail=Message( Paragraph('Could not', ImportantText('call'), 'function.'), Paragraph('Try reinstalling your computer with windows.')), suggestion=Message(ImportantText('Important note'))) e4.error_message.append(message) raise
def test_paragraph(self): """Tests paragraphs are rendered correctly in plain text/html. """ p = Paragraph('FOO') expected_res = ' FOO\n' res = p.to_text() self.assertEqual(expected_res, res) expected_res = '<p>FOO</p>' res = p.to_html() self.assertEqual(expected_res, res) p1 = Paragraph('FOO', ImportantText('BAR'), 'function') expected_res = '<p>FOO <strong>BAR</strong> function</p>' res = p1.to_html() self.assertEqual(expected_res, res)
def run(self): """Run.""" self.count += 1 message = Paragraph('IF1 run %i - running' % self.count) dispatcher.send(signal=DYNAMIC_MESSAGE_SIGNAL, sender=self, message=message)
def test_paragraph(self): """Tests paragraphs are rendered correctly in plain text/html. """ p = Paragraph("FOO") expected_res = " FOO\n" res = p.to_text() self.assertEqual(expected_res, res) expected_res = "<p>FOO</p>" res = p.to_html() self.assertEqual(expected_res, res) p1 = Paragraph("FOO", ImportantText("BAR"), "function") expected_res = "<p>FOO <strong>BAR</strong> function</p>" res = p1.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()