예제 #1
0
 def test_format_default(self):
     console = Console()
     output = console.format('The quick brown fox jumps over the lazy dog')
     self.assertEqual(
         repr(output),
         repr('The quick brown fox jumps over the lazy dog' + ' ' * 37)
     )
예제 #2
0
 def test_write(self):
     stream = StringIO()
     console = Console(stream)
     console.write('The quick brown fox jumps over the lazy dog')
     output = stream.getvalue()
     self.assertEqual(
         repr(output),
         repr('The quick brown fox jumps over the lazy dog')
     )
예제 #3
0
 def test_same_line(self):
     stream = StringIO()
     console = Console(stream)
     console.same_line('The quick brown fox jumps over the lazy dog')
     output = stream.getvalue()
     self.assertEqual(
         repr(output),
         repr(
             '\r'
             'The quick brown fox jumps over the lazy dog' + ' ' * 37
         )
     )
예제 #4
0
 def test_success(self):
     stream = StringIO()
     console = Console(stream)
     console.success('The quick brown fox jumps over the lazy dog')
     output = stream.getvalue()
     self.assertEqual(
         repr(output),
         repr(
             '\r\x1b[32m'
             'The quick brown fox jumps over the lazy dog'
             '\x1b[39m' + ' ' * 27 + '\n'
         )
     )
예제 #5
0
 def test_format_many_options(self):
     console = Console()
     output = console.format(
         'The quick brown fox jumps over the lazy dog',
         fg_color='RED', bg_color='YELLOW', font='BOLD', min_length=10
     )
     self.assertEqual(
         repr(output),
         repr(
             '\x1b[2m\x1b[31m\x1b[43m'
             'The quick brown fox jumps over the lazy dog'
             '\x1b[49m\x1b[39m\x1b[0m'
         )
     )
예제 #6
0
 def test_format_fg_color(self):
     console = Console()
     output = console.format(
         'The quick brown fox jumps over the lazy dog', fg_color='RED'
     )
     self.assertEqual(
         repr(output),
         repr(
             '\x1b[31m'
             'The quick brown fox jumps over the lazy dog'
             '\x1b[39m' +
             ' ' * 27
         )
     )
예제 #7
0
 def test_progress_bar_console_no_eta(self):
     stream = StringIO()
     console = Console(stream)
     progress_bar = ProgressBar(console)
     for i in range(1, 51):
         progress_bar.progress(i, 50)
     output = stream.getvalue()
     self.assertEqual(
         [ln.strip() for ln in output.split('\r')],
         [
             '',
             '[#####               ]  20.00% (10 / 50) ETA: ? |',
             '[#########           ]  40.00% (20 / 50) ETA: ? /',
             '[#############       ]  60.00% (30 / 50) ETA: ? -',
             '[#################   ]  80.00% (40 / 50) ETA: ? \\',
             '[#####################] 100.00% (50 / 50) ETA: 0:00:00'
         ]
     )
예제 #8
0
 def __init__(self,
              root_url=None,
              error_class=None,
              stdout=None,
              stderr=None,
              get_input=None,
              **options):
     self.root_url = root_url or '/'
     self.error_class = error_class or RuntimeError
     self.stdout = stdout or sys.stdout
     self.stderr = stderr or sys.stderr
     self.dry_run = options['dry_run']
     self.no_interactive = options['no_interactive']
     self.quiet = options['quiet']
     self.force = options['force']
     self.git_add = options['git_add']
     self.no_color = options.get('no_color')
     self.console = Console(self.stdout)
     self.get_input = get_input or default_get_input