Esempio n. 1
0
    def test_style_matching_non_greedy(self):
        formatter = OutputFormatter(True)

        self.assertEqual(
            '(\033[32m>=2.0,<2.3\033[0m)',
            formatter.format('(<info>>=2.0,<2.3</info>)')
        )
Esempio n. 2
0
    def test_nested_styles(self):
        formatter = OutputFormatter(True)

        self.assertEqual(
            '\033[37;41msome \033[0m\033[32msome info\033[0m\033[37;41m error\033[0m',
            formatter.format('<error>some <info>some info</info> error</error>')
        )
Esempio n. 3
0
    def test_adjacent_style(self):
        formatter = OutputFormatter(True)

        self.assertEqual(
            '\033[37;41msome error\033[0m\033[32msome info\033[0m',
            formatter.format('<error>some error</error><info>some info</info>')
        )
Esempio n. 4
0
    def test_nested_styles(self):
        formatter = OutputFormatter(True)

        self.assertEqual(
            '\033[37;41msome \033[0m\033[32msome info\033[0m\033[37;41m error\033[0m',
            formatter.format(
                '<error>some <info>some info</info> error</error>'))
Esempio n. 5
0
    def test_deep_nested_style(self):
        formatter = OutputFormatter(True)

        self.assertEqual(
            '\033[37;41merror\033[0m\033[32minfo\033[0m\033[33mcomment\033[0m\033[37;41merror\033[0m',
            formatter.format('<error>error<info>info<comment>comment</comment></info>error</error>')
        )
Esempio n. 6
0
    def test_adjacent_style(self):
        formatter = OutputFormatter(True)

        self.assertEqual(
            '\033[37;41msome error\033[0m\033[32msome info\033[0m',
            formatter.format(
                '<error>some error</error><info>some info</info>'))
Esempio n. 7
0
 def test_non_style_tag(self):
     formatter = OutputFormatter(True)
     self.assertEqual(
         '\033[32msome \033[0m\033[32m<tag> styled '
         '\033[0m\033[32m<p>single-char tag\033[0m\033[32m</p>\033[0m',
         formatter.format('<info>some <tag> styled <p>single-char tag</p></info>')
     )
Esempio n. 8
0
    def test_style_escaping(self):
        formatter = OutputFormatter(True)

        self.assertEqual(
            '(\033[32mz>=2.0,<a2.3\033[0m)',
            formatter.format('(<info>%s</info>)' %
                             formatter.escape('z>=2.0,<a2.3')))
Esempio n. 9
0
    def test_style_escaping(self):
        formatter = OutputFormatter(True)

        self.assertEqual(
            '(\033[32mz>=2.0,<a2.3\033[0m)',
            formatter.format('(<info>%s</info>)' % formatter.escape('z>=2.0,<a2.3'))
        )
Esempio n. 10
0
 def test_non_style_tag(self):
     formatter = OutputFormatter(True)
     self.assertEqual(
         '\033[32msome \033[0m\033[32m<tag> styled '
         '\033[0m\033[32m<p>single-char tag\033[0m\033[32m</p>\033[0m',
         formatter.format(
             '<info>some <tag> styled <p>single-char tag</p></info>'))
Esempio n. 11
0
    def test_redefined_style(self):
        formatter = OutputFormatter(True)

        style = OutputFormatterStyle('blue', 'white')
        formatter.set_style('info', style)

        self.assertEqual('\033[34;47msome custom msg\033[0m',
                         formatter.format('<info>some custom msg</info>'))
Esempio n. 12
0
    def test_lg_char_escaping(self):
        formatter = OutputFormatter(True)

        self.assertEqual('foo<bar', formatter.format('foo\\<bar'))
        self.assertEqual('<info>some info</info>',
                         formatter.format('\\<info>some info\\</info>'))
        self.assertEqual('\\<info>some info\\</info>',
                         OutputFormatter.escape('<info>some info</info>'))
Esempio n. 13
0
    def test_deep_nested_style(self):
        formatter = OutputFormatter(True)

        self.assertEqual(
            '\033[37;41merror\033[0m\033[32minfo\033[0m\033[33mcomment\033[0m\033[37;41merror\033[0m',
            formatter.format(
                '<error>error<info>info<comment>comment</comment></info>error</error>'
            ))
Esempio n. 14
0
    def test_redefined_style(self):
        formatter = OutputFormatter(True)

        style = OutputFormatterStyle('blue', 'white')
        formatter.set_style('info', style)

        self.assertEqual(
            '\033[34;47msome custom msg\033[0m',
            formatter.format('<info>some custom msg</info>')
        )
Esempio n. 15
0
    def test_inline_style(self):
        formatter = OutputFormatter(True)

        self.assertEqual('\033[34;41msome text\033[0m',
                         formatter.format('<fg=blue;bg=red>some text</>'))
        self.assertEqual(
            '\033[34;41msome text\033[0m',
            formatter.format('<fg=blue;bg=red>some text</fg=blue;bg=red>'))
        self.assertEqual(
            '\033[34;41;1msome text\033[0m',
            formatter.format('<fg=blue;bg=red;options=bold>some text</>'))
Esempio n. 16
0
    def test_lg_char_escaping(self):
        formatter = OutputFormatter(True)

        self.assertEqual('foo<bar', formatter.format('foo\\<bar'))
        self.assertEqual(
            '<info>some info</info>',
            formatter.format('\\<info>some info\\</info>')
        )
        self.assertEqual(
            '\\<info>some info\\</info>',
            OutputFormatter.escape('<info>some info</info>')
        )
Esempio n. 17
0
    def test_inline_style(self):
        formatter = OutputFormatter(True)

        self.assertEqual(
            '\033[34;41msome text\033[0m',
            formatter.format('<fg=blue;bg=red>some text</>')
        )
        self.assertEqual(
            '\033[34;41msome text\033[0m',
            formatter.format('<fg=blue;bg=red>some text</fg=blue;bg=red>')
        )
        self.assertEqual(
            '\033[34;41;1msome text\033[0m',
            formatter.format('<fg=blue;bg=red;options=bold>some text</>')
        )
Esempio n. 18
0
    def test_bundled_styles(self):
        formatter = OutputFormatter(True)

        self.assertTrue(formatter.has_style('error'))
        self.assertTrue(formatter.has_style('info'))
        self.assertTrue(formatter.has_style('comment'))
        self.assertTrue(formatter.has_style('question'))

        self.assertEqual('\033[37;41msome error\033[0m',
                         formatter.format('<error>some error</error>'))
        self.assertEqual('\033[32msome info\033[0m',
                         formatter.format('<info>some info</info>'))
        self.assertEqual('\033[33msome comment\033[0m',
                         formatter.format('<comment>some comment</comment>'))
        self.assertEqual(
            '\033[30;46msome question\033[0m',
            formatter.format('<question>some question</question>'))
Esempio n. 19
0
    def test_new_style(self):
        formatter = OutputFormatter(True)

        style = OutputFormatterStyle('blue', 'white')
        formatter.set_style('test', style)

        self.assertEqual(style, formatter.get_style('test'))
        self.assertNotEqual(style, formatter.get_style('info'))

        style = OutputFormatterStyle('blue', 'white')
        formatter.set_style('b', style)

        self.assertEqual(
            '\033[34;47msome \033[0m\033[34;47mcustom\033[0m\033[34;47m msg\033[0m',
            formatter.format('<test>some <b>custom</b> msg</test>'))
Esempio n. 20
0
    def test_new_style(self):
        formatter = OutputFormatter(True)

        style = OutputFormatterStyle('blue', 'white')
        formatter.set_style('test', style)

        self.assertEqual(style, formatter.get_style('test'))
        self.assertNotEqual(style, formatter.get_style('info'))

        style = OutputFormatterStyle('blue', 'white')
        formatter.set_style('b', style)

        self.assertEqual(
            '\033[34;47msome \033[0m\033[34;47mcustom\033[0m\033[34;47m msg\033[0m',
            formatter.format('<test>some <b>custom</b> msg</test>')
        )
Esempio n. 21
0
    def test_bundled_styles(self):
        formatter = OutputFormatter(True)

        self.assertTrue(formatter.has_style('error'))
        self.assertTrue(formatter.has_style('info'))
        self.assertTrue(formatter.has_style('comment'))
        self.assertTrue(formatter.has_style('question'))

        self.assertEqual(
            '\033[37;41msome error\033[0m',
            formatter.format('<error>some error</error>')
        )
        self.assertEqual(
            '\033[32msome info\033[0m',
            formatter.format('<info>some info</info>')
        )
        self.assertEqual(
            '\033[33msome comment\033[0m',
            formatter.format('<comment>some comment</comment>')
        )
        self.assertEqual(
            '\033[30;46msome question\033[0m',
            formatter.format('<question>some question</question>')
        )
Esempio n. 22
0
 def test_empty_tag(self):
     formatter = OutputFormatter(True)
     self.assertEqual('foo<>bar', formatter.format('foo<>bar'))
Esempio n. 23
0
    def test_test_non_decorated_formatter(self):
        formatter = OutputFormatter(False)

        self.assertTrue(formatter.has_style('error'))
        self.assertTrue(formatter.has_style('info'))
        self.assertTrue(formatter.has_style('comment'))
        self.assertTrue(formatter.has_style('question'))

        self.assertEqual('some error',
                         formatter.format('<error>some error</error>'))
        self.assertEqual('some info',
                         formatter.format('<info>some info</info>'))
        self.assertEqual('some comment',
                         formatter.format('<comment>some comment</comment>'))
        self.assertEqual(
            'some question',
            formatter.format('<question>some question</question>'))

        formatter.set_decorated(True)

        self.assertEqual('\033[37;41msome error\033[0m',
                         formatter.format('<error>some error</error>'))
        self.assertEqual('\033[32msome info\033[0m',
                         formatter.format('<info>some info</info>'))
        self.assertEqual('\033[33msome comment\033[0m',
                         formatter.format('<comment>some comment</comment>'))
        self.assertEqual(
            '\033[30;46msome question\033[0m',
            formatter.format('<question>some question</question>'))
Esempio n. 24
0
    def test_style_matching_non_greedy(self):
        formatter = OutputFormatter(True)

        self.assertEqual('(\033[32m>=2.0,<2.3\033[0m)',
                         formatter.format('(<info>>=2.0,<2.3</info>)'))
Esempio n. 25
0
    def test_test_non_decorated_formatter(self):
        formatter = OutputFormatter(False)

        self.assertTrue(formatter.has_style('error'))
        self.assertTrue(formatter.has_style('info'))
        self.assertTrue(formatter.has_style('comment'))
        self.assertTrue(formatter.has_style('question'))

        self.assertEqual(
            'some error',
            formatter.format('<error>some error</error>')
        )
        self.assertEqual(
            'some info',
            formatter.format('<info>some info</info>')
        )
        self.assertEqual(
            'some comment',
            formatter.format('<comment>some comment</comment>')
        )
        self.assertEqual(
            'some question',
            formatter.format('<question>some question</question>')
        )

        formatter.set_decorated(True)

        self.assertEqual(
            '\033[37;41msome error\033[0m',
            formatter.format('<error>some error</error>')
        )
        self.assertEqual(
            '\033[32msome info\033[0m',
            formatter.format('<info>some info</info>')
        )
        self.assertEqual(
            '\033[33msome comment\033[0m',
            formatter.format('<comment>some comment</comment>')
        )
        self.assertEqual(
            '\033[30;46msome question\033[0m',
            formatter.format('<question>some question</question>')
        )
Esempio n. 26
0
    def test_content_with_line_breaks(self):
        formatter = OutputFormatter(True)

        for expected, message in self.provide_content_with_line_breaks():
            self.assertEqual(expected, formatter.format(message))
Esempio n. 27
0
 def test_empty_tag(self):
     formatter = OutputFormatter(True)
     self.assertEqual('foo<>bar', formatter.format('foo<>bar'))
Esempio n. 28
0
    def test_content_with_line_breaks(self):
        formatter = OutputFormatter(True)

        for expected, message in self.provide_content_with_line_breaks():
            self.assertEqual(expected, formatter.format(message))