コード例 #1
0
    def test_list(self):
        """Tests complex messages are rendered correctly in plain text/html
        """
        l1 = NumberedList(Text('FOO'),
                          ImportantText('BAR'),
                          'dsds',
                          element_id='error-message',
                          style_class='error-class')

        expected_res = (' 1. FOO\n' ' 2. *BAR*\n' ' 3. dsds\n')
        res = l1.to_text()
        self.assertEqual(expected_res, res)

        expected_res = ('<ol id="error-message" class="error-class">\n'
                        '<li>FOO</li>\n'
                        '<li><strong>BAR</strong></li>\n'
                        '<li>dsds</li>\n'
                        '</ol>')
        res = l1.to_html()
        self.assertEqual(expected_res, res)

        l1 = BulletedList(Text('FOO'), ImportantText('BAR'))
        l1.add('dsds')

        expected_res = (' - FOO\n' ' - *BAR*\n' ' - dsds\n')
        res = l1.to_text()
        self.assertEqual(expected_res, res)

        expected_res = ('<ul>\n'
                        '<li>FOO</li>\n'
                        '<li><strong>BAR</strong></li>\n'
                        '<li>dsds</li>\n'
                        '</ul>')
        res = l1.to_html()
        self.assertEqual(expected_res, res)
コード例 #2
0
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
コード例 #3
0
ファイル: gui_example.py プロジェクト: lucernae/inasafe
    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()
コード例 #4
0
    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)
コード例 #5
0
    def test_text_complex(self):
        """Tests Text messages are rendered correctly in plain text/html.
        """
        t1 = Text('FOO')
        ts = ImportantText('STRONG')
        t2 = Text(ts)
        t1.add(t2)
        expected_res = 'FOO *STRONG*'

        res = t1.to_text()
        self.assertEqual(expected_res, res)
コード例 #6
0
    def test_error_on_invalid_keywords(self):
        """Test that an error occurs if unknown keywords are passed.

        The inheritance implementation should allow valid keywords defined in
         the base class or any of its childred, and fail if any unhandled
         keywords are provided.

        """
        NumberedList(Text('FOO'),
                     ImportantText('BAR'),
                     'dsds',
                     element_id='error-message',
                     style_class='error-class',
                     invalid_param=None)
コード例 #7
0
    def run(self):
        message = 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()
        # Run some tasks that will spawn dynamic messages
        for i in range(1, 10):
            _ = i
            impact_function1.run()
コード例 #8
0
    def test_success_paragraph(self):
        """Tests paragraphs are rendered correctly in plain text/html.
        """
        p = SuccessParagraph('FOO')
        expected_res = '    SUCCESS: 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 = SuccessParagraph('FOO', ImportantText('BAR'), 'function')
        expected_res = '<p>FOO <strong>BAR</strong> function</p>'
        res = p1.to_html()
        self.assertEqual(expected_res, res)
コード例 #9
0
    def test_text(self):
        """Tests Text messages are rendered correctly in plain text/html.
        """
        t1 = Text('FOO')
        t2 = Text('BAR')
        expected_res = 'FOO'

        res = t1.to_text()
        self.assertEqual(expected_res, res)

        t1.add(t2)
        expected_res = 'FOO BAR'
        res = t1.to_html()
        self.assertEqual(expected_res, res)

        t1 = Text('FOO', ImportantText('BAR'), 'function')
        expected_res = 'FOO <strong>BAR</strong> function'
        res = t1.to_html()
        self.assertEqual(expected_res, res)
コード例 #10
0
    def test_table_html(self):
        """Tests cells are rendered correctly in html.
        """
        c1 = Cell('FOO')
        expected_res = '<td>FOO</td>\n'
        res = c1.to_html()
        self.assertEqual(expected_res, res)

        c2 = Cell('FOO', ImportantText('BAR'), 'function')
        expected_res = '<td>FOO <strong>BAR</strong> function</td>\n'
        res = c2.to_html()
        self.assertEqual(expected_res, res)

        r1 = Row(c1, c2, '3a')
        expected_res = (
            '<tr>\n<td>FOO</td>\n<td>FOO <strong>BAR</strong> function</td>\n'
            '<td>3a</td>\n</tr>\n')
        res = r1.to_html()
        self.assertEqual(expected_res, res)

        t1 = Table(r1, Row('1', '2', '3'), ['a', 'b', 'c'])
        expected_res = (
            '<table>\n<tbody>\n<tr>\n<td>FOO</td>\n<td>FOO '
            '<strong>BAR</strong> function</td>\n<td>3a</td>\n</tr>\n<tr>\n'
            '<td>1</td>\n<td>2</td>\n'
            '<td>3</td>\n</tr>\n<tr>\n<td>a</td>\n<td>b</td>\n<td>c</td>\n'
            '</tr>\n</tbody>\n</table>\n')
        res = t1.to_html()
        self.assertEqual(expected_res, res)

        t1.caption = 'Test Caption'
        expected_res = (
            '<table>\n<caption>Test Caption</caption>\n<tbody>\n<tr>\n'
            '<td>FOO</td>\n<td>FOO <strong>BAR</strong> function</td>\n'
            '<td>3a</td>\n</tr>\n<tr>\n<td>1</td>\n<td>2</td>\n<td>3</td>\n'
            '</tr>\n<tr>\n<td>a</td>\n<td>b</td>\n<td>c</td>\n</tr>\n'
            '</tbody>\n</table>\n')
        res = t1.to_html()
        self.assertEqual(expected_res, res)