def test_get_matched_rule(): rules = [main.Rule(lambda x, _: x.script == 'cd ..', None), main.Rule(lambda *_: False, None)] assert main.get_matched_rule(main.Command('ls', '', ''), rules, None) is None assert main.get_matched_rule(main.Command('cd ..', '', ''), rules, None) == rules[0]
def test_get_matched_rule(capsys): rules = [ main.Rule('', lambda x, _: x.script == 'cd ..', None), main.Rule('', lambda *_: False, None), main.Rule('rule', Mock(side_effect=OSError('Denied')), None) ] assert main.get_matched_rule(main.Command('ls', '', ''), rules, Mock(no_colors=True)) is None assert main.get_matched_rule(main.Command('cd ..', '', ''), rules, Mock(no_colors=True)) == rules[0] assert capsys.readouterr()[1].split('\n')[0]\ == '[WARN] Rule rule:'
def test_get_command(): with patch('thefuck.main.Popen') as Popen: Popen.return_value.stdout.read.return_value = b'stdout' Popen.return_value.stderr.read.return_value = b'stderr' assert main.get_command(['thefuck', 'apt-get', 'search', 'vim']) \ == main.Command('apt-get search vim', 'stdout', 'stderr') Popen.assert_called_once_with('apt-get search vim', shell=True, stdout=PIPE, stderr=PIPE)
def test_get_command(): with patch('thefuck.main.Popen') as Popen, \ patch('thefuck.main.os.environ', new_callable=lambda: {}), \ patch('thefuck.main.wait_output', return_value=True): Popen.return_value.stdout.read.return_value = b'stdout' Popen.return_value.stderr.read.return_value = b'stderr' assert main.get_command(Mock(), ['thefuck', 'apt-get', 'search', 'vim']) \ == main.Command('apt-get search vim', 'stdout', 'stderr') Popen.assert_called_once_with('apt-get search vim', shell=True, stdout=PIPE, stderr=PIPE, env={'LANG': 'C'})