예제 #1
0
def test_powerline():
    stdout, write = _get_mock_stdout()
    console = PowerlineConsole(conf=Config(), stdout=stdout)
    console.log('foo', time=False)
    write.assert_any_call('\033[49;37m foo \033[0m')
    console.warn('foo')
    console(('foo', 92), ('bar', 92), 'baz')
예제 #2
0
def test_raw_log_write():
    stdout, write = _get_mock_stdout()
    console = SimpleConsole(conf=Config(), stdout=stdout)
    console.log('foo')
    assert write.call_count == 2
    write.assert_any_call('\n')

    assertions = []
    for call in write.mock_calls:
        assertions.append(call.called_with.endswith('\033[39mfoo\033[0m'))
    assert any(assertions)
예제 #3
0
def test_helpers():
    stdout, write = _get_mock_stdout()
    console = SimpleConsole(conf=Config(True), stdout=stdout)
    predicate = lambda a, b: lambda x: a in x and b in x
    anymatch = lambda colln, predicate: any([predicate(c) for c in colln])
    callargs = lambda x: [str(x) for x in x]

    assert predicate('a', 'b')('oh, hello! we have b.')
    assert anymatch(['foo', 'bar'], predicate('ba', 'ar'))

    console.info('alpha')
    assert anymatch(callargs(write.mock_calls), predicate('INFO', 'alpha'))
    console.error('beta')
    assert anymatch(callargs(write.mock_calls), predicate('ERROR', 'beta'))
    console.warn('delta')
    assert anymatch(callargs(write.mock_calls), predicate('WARN', 'delta'))
    console.success('pi')
    assert anymatch(callargs(write.mock_calls), predicate('SUCCESS', 'pi'))

    console(('Hey', 30), ('You', 31))
    assert anymatch(callargs(write.mock_calls), predicate('Hey', 'You'))
예제 #4
0
def test_simple_console():
    console = SimpleConsole(conf=Config())
    for func in ('log', 'info', 'warn', 'error', 'success'):
        assert hasattr(console, func)
예제 #5
0
def test_resolved_config():
    cs = Config()
    assert hasattr(cs, 'hues')
    assert hasattr(cs, 'opts')
    assert hasattr(cs.hues, 'default')
예제 #6
0
 def test_invalid_yaml(self):
     os.chdir('/var/invalidyml')
     with self.assertRaises(InvalidConfiguration) as e:
         Config.load_config()
     assert 'invalid YAML' in str(e.exception)
예제 #7
0
 def test_invalid_config(self):
     os.chdir('/var/invalid')
     with self.assertRaises(InvalidConfiguration) as e:
         Config.load_config()
     assert 'not a dictionary' in str(e.exception)
예제 #8
0
 def test_local_nested_config(self):
     os.chdir('/var/foo/bar/baz')
     cs = Config.load_config()
     assert cs['colors']['default'] == 'green'
예제 #9
0
 def test_home_config(self):
     os.chdir('/var/doom/baz')
     cs = Config.load_config()
     assert cs['colors']['default'] == 'red'
예제 #10
0
def test_default_color():
    stdout, write = _get_mock_stdout()
    console = SimpleConsole(conf=Config(), stdout=stdout)
    console('foo')
    write.assert_any_call('\033[39mfoo\033[0m')