mirror of
https://github.com/nvbn/thefuck.git
synced 2025-09-19 03:32:31 +01:00
134
tests/rules/test_mercurial.py
Normal file
134
tests/rules/test_mercurial.py
Normal file
@@ -0,0 +1,134 @@
|
||||
import pytest
|
||||
|
||||
from tests.utils import Command
|
||||
from thefuck.rules.mercurial import (
|
||||
extract_possisiblities, match, get_new_command
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('command', [
|
||||
Command('hg base', stderr=(
|
||||
"hg: unknown command 'base'"
|
||||
'\n(did you mean one of blame, phase, rebase?)'
|
||||
)),
|
||||
Command('hg branchch', stderr=(
|
||||
"hg: unknown command 'branchch'"
|
||||
'\n(did you mean one of branch, branches?)'
|
||||
)),
|
||||
Command('hg vert', stderr=(
|
||||
"hg: unknown command 'vert'"
|
||||
'\n(did you mean one of revert?)'
|
||||
)),
|
||||
Command('hg lgo -r tip', stderr=(
|
||||
"hg: command 're' is ambiguous:"
|
||||
'\n(did you mean one of log?)'
|
||||
)),
|
||||
Command('hg rerere', stderr=(
|
||||
"hg: unknown command 'rerere'"
|
||||
'\n(did you mean one of revert?)'
|
||||
)),
|
||||
Command('hg re', stderr=(
|
||||
"hg: command 're' is ambiguous:"
|
||||
'\n rebase recover remove rename resolve revert'
|
||||
)),
|
||||
Command('hg re re', stderr=(
|
||||
"hg: command 're' is ambiguous:"
|
||||
'\n rebase recover remove rename resolve revert'
|
||||
)),
|
||||
])
|
||||
def test_match(command):
|
||||
assert match(command, None)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('command', [
|
||||
Command('hg', stderr=(
|
||||
'\nMercurial Distributed SCM\n\nbasic commands:'
|
||||
)),
|
||||
Command('hg asdf', stderr=(
|
||||
"hg: unknown command 'asdf'"
|
||||
'\nMercurial Distributed SCM\n\nbasic commands:'
|
||||
)),
|
||||
Command('hg qwer', stderr=(
|
||||
"hg: unknown command 'qwer'"
|
||||
'\nMercurial Distributed SCM\n\nbasic commands:'
|
||||
)),
|
||||
Command('hg me', stderr=(
|
||||
"\nabort: no repository found in './thefuck' (.hg not found)!"
|
||||
)),
|
||||
Command('hg reb', stderr=(
|
||||
"\nabort: no repository found in './thefuck' (.hg not found)!"
|
||||
)),
|
||||
Command('hg co', stderr=(
|
||||
"\nabort: no repository found in './thefuck' (.hg not found)!"
|
||||
)),
|
||||
])
|
||||
def test_not_match(command):
|
||||
assert not match(command, None)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('command, possibilities', [
|
||||
(Command('hg base', stderr=(
|
||||
"hg: unknown command 'base'"
|
||||
'\n(did you mean one of blame, phase, rebase?)'
|
||||
)), ['blame', 'phase', 'rebase']),
|
||||
(Command('hg branchch', stderr=(
|
||||
"hg: unknown command 'branchch'"
|
||||
'\n(did you mean one of branch, branches?)'
|
||||
)), ['branch', 'branches']),
|
||||
(Command('hg vert', stderr=(
|
||||
"hg: unknown command 'vert'"
|
||||
'\n(did you mean one of revert?)'
|
||||
)), ['revert']),
|
||||
(Command('hg lgo -r tip', stderr=(
|
||||
"hg: command 're' is ambiguous:"
|
||||
'\n(did you mean one of log?)'
|
||||
)), ['log']),
|
||||
(Command('hg rerere', stderr=(
|
||||
"hg: unknown command 'rerere'"
|
||||
'\n(did you mean one of revert?)'
|
||||
)), ['revert']),
|
||||
(Command('hg re', stderr=(
|
||||
"hg: command 're' is ambiguous:"
|
||||
'\n rebase recover remove rename resolve revert'
|
||||
)), ['rebase', 'recover', 'remove', 'rename', 'resolve', 'revert']),
|
||||
(Command('hg re re', stderr=(
|
||||
"hg: command 're' is ambiguous:"
|
||||
'\n rebase recover remove rename resolve revert'
|
||||
)), ['rebase', 'recover', 'remove', 'rename', 'resolve', 'revert']),
|
||||
])
|
||||
def test_extract_possisiblities(command, possibilities):
|
||||
assert extract_possisiblities(command) == possibilities
|
||||
|
||||
|
||||
@pytest.mark.parametrize('command, new_command', [
|
||||
(Command('hg base', stderr=(
|
||||
"hg: unknown command 'base'"
|
||||
'\n(did you mean one of blame, phase, rebase?)'
|
||||
)), 'hg rebase'),
|
||||
(Command('hg branchch', stderr=(
|
||||
"hg: unknown command 'branchch'"
|
||||
'\n(did you mean one of branch, branches?)'
|
||||
)), 'hg branch'),
|
||||
(Command('hg vert', stderr=(
|
||||
"hg: unknown command 'vert'"
|
||||
'\n(did you mean one of revert?)'
|
||||
)), 'hg revert'),
|
||||
(Command('hg lgo -r tip', stderr=(
|
||||
"hg: command 're' is ambiguous:"
|
||||
'\n(did you mean one of log?)'
|
||||
)), 'hg log -r tip'),
|
||||
(Command('hg rerere', stderr=(
|
||||
"hg: unknown command 'rerere'"
|
||||
'\n(did you mean one of revert?)'
|
||||
)), 'hg revert'),
|
||||
(Command('hg re', stderr=(
|
||||
"hg: command 're' is ambiguous:"
|
||||
'\n rebase recover remove rename resolve revert'
|
||||
)), 'hg rebase'),
|
||||
(Command('hg re re', stderr=(
|
||||
"hg: command 're' is ambiguous:"
|
||||
'\n rebase recover remove rename resolve revert'
|
||||
)), 'hg rebase re'),
|
||||
])
|
||||
def test_get_new_command(command, new_command):
|
||||
assert get_new_command(command, None) == new_command
|
Reference in New Issue
Block a user