def test_format_line(self): cases = ( (([], '', ''), '', ''), ((['a'], '', ''), 'a', ''), (([['a', 'bc']], '', ''), ' a\n' 'bc', 'default alignment is to right'), (([['a', 'bc'], 'foo'], '', ''), ' afoo\n' 'bc ', 'no sep, add space to align'), (([['a', 'bc'], 'foo'], '|', ''), ' a|foo\n' 'bc| ', 'sep is "|"'), (([['a', 'bc'], 'foo', [1, 2, 333]], '|', ''), ' a|foo| 1\n' 'bc| | 2\n' ' | |333', 'number will be convert to str'), (([['a', 'bc'], 'foo', [1, 2, strutil.blue('xp')]], '|', ''), ' a|foo| 1\n' 'bc| | 2\n' ' | |' + str(strutil.blue('xp')), 'strutil.ColoredString instance is compatible'), ) for _in, _out, _mes in cases: rst = strutil.format_line(*_in) dd("_in: " + str(_in)) dd("rst:\n" + rst) self.assertEqual(_out, rst, ('input: {_in}, output: {_out}, expected: {rst},' ' message: {_mes}').format(_in=repr(_in), _out=repr(_out), rst=repr(rst), _mes=_mes))
def test_named_color(self): print # named color shortcuts print strutil.blue('blue'), print strutil.cyan('cyan'), print strutil.green('green'), print strutil.yellow('yellow'), print strutil.red('red'), print strutil.purple('purple'), print strutil.white('white'), print print strutil.danger('danger'), print strutil.warn('warn'), print strutil.loaded('loaded'), print strutil.normal('normal'), print strutil.optimal('optimal'), print
def test_named_color(self): print # named color shortcuts print strutil.blue('blue'), print strutil.cyan('cyan'), print strutil.green('green'), print strutil.yellow('yellow'), print strutil.red('red'), print strutil.purple('purple'), print strutil.white('white'), print print strutil.danger('danger'), print strutil.warn('warn'), print strutil.loaded('loaded'), print strutil.normal('normal'), print strutil.optimal('optimal'), print
str_split += ' algorithm is applied: runs of consecutive whitespace' str_split += ' are regarded as a single separator' str_split = strutil.ColoredString(str_split, 'red') list_split = str_split.split() for v in list_split: print v for v in strutil.ColoredString('h\rello\npyk\rit').splitlines(): print v str_break_line = 'one two three four five six seven eight nine ten' print strutil.break_line(str_break_line, 10) str_break_line = 'aaaaabbbbbcccccdddddeeeeefffff' print strutil.break_line(str_break_line, 10) t = strutil.blue("blue-text") print t for p in xrange(0, 200): print strutil.colorize(p, 100), print for p in xrange(0, 100): print strutil.colorize(p, 10), print print strutil.colorize(22, 100, '{0:>10}%') str_linestr = 'adw\nni\nleng\n' print strutil.line_pad(str_linestr, 'hehe' * 4) print strutil.format_line([["name:", "age:"], ["drdrxp", "18"], "wow"], sep= " | ", aligns="lll")