1
0
mirror of https://github.com/nvbn/thefuck.git synced 2025-01-18 20:11:17 +00:00

quick fix for #655 (#702)

* quick fix for #655

* Enabled by default and fix

* Test

* Added readme line

* This is unnecessary
This commit is contained in:
Stef Pletinck 2017-10-10 19:24:38 +02:00 committed by Vladimir Iakovlev
parent 21a916d953
commit e658f35bd9
3 changed files with 34 additions and 0 deletions

View File

@ -242,6 +242,7 @@ using the matched rule and runs it. Rules enabled by default are as follows:
* `no_such_file` – creates missing directories with `mv` and `cp` commands;
* `open` – either prepends `http://` to address passed to `open` or create a new file or directory and passes it to `open`;
* `pip_unknown_command` – fixes wrong `pip` commands, for example `pip instatl/pip install`;
* `php_s` – replaces `-s` by `-S` when trying to run a local php server;
* `port_already_in_use` – kills process that bound port;
* `python_command` – prepends `python` when you trying to run not executable/without `./` python script;
* `python_execute` – appends missing `.py` when executing Python files;

20
tests/rules/test_php_s.py Normal file
View File

@ -0,0 +1,20 @@
import pytest
from thefuck.rules.php_s import get_new_command, match
from thefuck.types import Command
def test_match():
assert match(Command('php -s localhost:8000', ''))
@pytest.mark.parametrize('command', [
Command('php -S localhost:8000', ''),
Command('vim php -s', '')
])
def test_not_match(command):
assert not match(command)
def test_get_new_command():
new_command = get_new_command(Command('php -s localhost:8000', ''))
assert new_command == 'php -S localhost:8000'

13
thefuck/rules/php_s.py Normal file
View File

@ -0,0 +1,13 @@
from thefuck.utils import replace_argument, for_app
@for_app('php')
def match(command):
return "php -s" in command.script
def get_new_command(command):
return replace_argument(command.script, "-s", "-S")
requires_output = False