diff --git a/README.md b/README.md index 9cf7237f..1ac70f45 100644 --- a/README.md +++ b/README.md @@ -171,6 +171,7 @@ using the matched rule and runs it. Rules enabled by default are as follows: * `ssh_known_hosts` – removes host from `known_hosts` on warning; * `sudo` – prepends `sudo` to previous command if it failed because of permissions; * `switch_layout` – switches command from your local layout to en; +* `whois` – fixes `whois` command; * `apt_get` – installs app from apt if it not installed; * `brew_install` – fixes formula name for `brew install`; * `composer_not_command` – fixes composer command name. diff --git a/tests/rules/test_whois.py b/tests/rules/test_whois.py new file mode 100644 index 00000000..b911106e --- /dev/null +++ b/tests/rules/test_whois.py @@ -0,0 +1,19 @@ +import pytest +from thefuck.rules.whois import match, get_new_command +from tests.utils import Command + + +@pytest.mark.parametrize('command', [ + Command(script='whois https://en.wikipedia.org/wiki/Main_Page'), + Command(script='whois https://en.wikipedia.org/'), + Command(script='whois en.wikipedia.org')]) +def test_match(command): + assert match(command, None) + + +@pytest.mark.parametrize('command, new_command', [ + (Command('whois https://en.wikipedia.org/wiki/Main_Page'), 'whois en.wikipedia.org'), + (Command('whois https://en.wikipedia.org/'), 'whois en.wikipedia.org'), + (Command('whois en.wikipedia.org'), 'whois wikipedia.org')]) +def test_get_new_command(command, new_command): + assert get_new_command(command, None) == new_command diff --git a/thefuck/rules/whois.py b/thefuck/rules/whois.py index f019758e..f53cdde8 100644 --- a/thefuck/rules/whois.py +++ b/thefuck/rules/whois.py @@ -1,4 +1,5 @@ -from urllib.parse import urlparse +# -*- encoding: utf-8 -*- +from six.moves.urllib.parse import urlparse def match(command, settings):