示例#1
0
    def test_strip_codes(self):
        """ strip_codes() should strip all color and reset codes. """
        self.assertEqual(
            'hello world',
            strip_codes(
                Colr('hello world', fore='green', back='blue', style='bright')
            ),
            msg=test_msg('Failed to strip codes from Colr string.'))

        self.assertEqual(
            'hello world',
            strip_codes(
                color('hello world', fore='red', back='blue', style='bright')
            ),
            msg=test_msg('Failed to strip codes from color string.'))

        self.assertEqual(
            'hello world',
            strip_codes(
                Colr().red().bggreen().bright('hello world')
            ),
            msg=test_msg('Failed to strip codes from chained Colr string.'))

        self.assertEqual(
            'hello world',
            strip_codes(
                Colr('hello world').rainbow()
            ),
            msg=test_msg('Failed to strip codes from Colr.rainbow string.'))
示例#2
0
    def ellipsize(self, line: str, offset: int = 0):
        if not isinstance(line, str):
            line = repr(line)

        length = self.width - 5 - offset
        if len(strip_codes(line)) < length:
            return line
        return '%s(...)' % line[:length]
示例#3
0
    def test_strip_codes(self):
        """ strip_codes() should strip all color and reset codes. """
        s = '\n'.join(('This is a test of strip_codes.',
                       'There should be none after stripping.'))

        colrvals = {
            'Colr': Colr(s, fore='green', back='blue', style='bright'),
            'color func': color(s, fore='red', back='blue', style='bright'),
            'chained': Colr().red().bggreen().bright(s),
            'chained extended': Colr().f_55().b_55().bright(s),
            'chained rgb': Colr().rgb(25, 25, 25).b_rgb(55, 55, 55).bright(s),
            'Colr.rainbow': Colr(s).rainbow(),
            'Colr.rainbow rgb': Colr(s).rainbow(rgb_mode=True),
        }
        for desc, colrval in colrvals.items():
            self.assertCallEqual(
                s,
                strip_codes(colrval),
                func=strip_codes,
                args=[colrval],
                msg='Failed to strip codes from {} string.'.format(desc),
            )
示例#4
0
    def test_strip_codes(self):
        """ strip_codes() should strip all color and reset codes. """
        s = '\n'.join(('This is a test of strip_codes.',
                       'There should be none after stripping.'))

        self.assertEqual(
            s,
            strip_codes(Colr(s, fore='green', back='blue', style='bright')),
            msg=call_msg('Failed to strip codes from Colr string.'))

        self.assertEqual(
            s,
            strip_codes(color(s, fore='red', back='blue', style='bright')),
            msg=call_msg('Failed to strip codes from color string.'))

        self.assertEqual(
            s,
            strip_codes(Colr().red().bggreen().bright(s)),
            msg=call_msg('Failed to strip codes from chained Colr string.'))

        self.assertEqual(
            s,
            strip_codes(Colr().f_55().b_55().bright(s)),
            msg=call_msg('Failed to strip codes from extended Colr string.'))

        self.assertEqual(
            s,
            strip_codes(Colr().rgb(25, 25, 25).b_rgb(55, 55, 55).bright(s)),
            msg=call_msg('Failed to strip codes from rgb Colr string.'))

        self.assertEqual(
            s,
            strip_codes(Colr(s).rainbow()),
            msg=call_msg('Failed to strip codes from Colr.rainbow string.'))
        self.assertEqual(
            s,
            strip_codes(Colr(s).rainbow(rgb_mode=True)),
            msg=call_msg(
                'Failed to strip codes from Colr.rainbow rgb string.'))