1
0
mirror of https://github.com/nvbn/thefuck.git synced 2024-10-05 18:31:10 +01:00

#702: fix minor issues with php_s rule

Unfortunately, I didn't catch these issues while reviewing #702.

After looking more closely at `php` options, `-S` requires additional
arguments (<address>:<port>) and `-s` may produce output if used that
way. So, matching ` -s ` seems to be better.

Also, `@for_app('php')` already asserts the presence of `php ` in the
command script. Matching `php -s` prevents the rule from fixing commands
like `php -t public -s 0.0.0.0:8080`.
This commit is contained in:
Pablo Santiago Blum de Aguiar 2017-10-10 14:48:47 -03:00
parent 64d6835e15
commit 75d2c43997
2 changed files with 13 additions and 9 deletions

View File

@ -3,8 +3,12 @@ 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('php -t pub -s 0.0.0.0:8080', '')
])
def test_match(command):
assert match(command)
@pytest.mark.parametrize('command', [
@ -15,6 +19,9 @@ 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'
@pytest.mark.parametrize('command, new_command', [
(Command('php -s localhost:8000', ''), 'php -S localhost:8000'),
(Command('php -t pub -s 0.0.0.0:8080', ''), 'php -t pub -S 0.0.0.0:8080')
])
def test_get_new_command(command, new_command):
assert get_new_command(command) == new_command

View File

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