mirror of
https://github.com/nvbn/thefuck.git
synced 2025-01-18 12:06:04 +00:00
75d2c43997
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`.
28 lines
761 B
Python
28 lines
761 B
Python
import pytest
|
|
from thefuck.rules.php_s import get_new_command, match
|
|
from thefuck.types import Command
|
|
|
|
|
|
@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', [
|
|
Command('php -S localhost:8000', ''),
|
|
Command('vim php -s', '')
|
|
])
|
|
def test_not_match(command):
|
|
assert not match(command)
|
|
|
|
|
|
@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
|