mirror of
https://github.com/nvbn/thefuck.git
synced 2025-01-19 04:21:14 +00:00
0c84eefa55
Suggest `foo --help` instead. However, if there are man pages, suggest `foo --help` after `man 2/3 foo` This addresses the comment in the previous commit message: > However, in cases where multiple sections have man pages for `foo`, > running `man foo` could bring up the "wrong" section of man pages. > `man read` is an example of this, but that should probably be handled in > a way that still suggests `foo --help` first when there are *no* man > pages for `foo` in any section.
36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
import pytest
|
|
from thefuck.rules.man import match, get_new_command
|
|
from tests.utils import Command
|
|
|
|
|
|
@pytest.mark.parametrize('command', [
|
|
Command('man read'),
|
|
Command('man 2 read'),
|
|
Command('man 3 read'),
|
|
Command('man -s2 read'),
|
|
Command('man -s3 read'),
|
|
Command('man -s 2 read'),
|
|
Command('man -s 3 read')])
|
|
def test_match(command):
|
|
assert match(command)
|
|
|
|
|
|
@pytest.mark.parametrize('command', [
|
|
Command('man'),
|
|
Command('man ')])
|
|
def test_not_match(command):
|
|
assert not match(command)
|
|
|
|
|
|
@pytest.mark.parametrize('command, new_command', [
|
|
(Command('man read'), ['man 3 read', 'man 2 read', 'read --help']),
|
|
(Command('man missing', stderr="No manual entry for missing\n"), ['missing --help']),
|
|
(Command('man 2 read'), 'man 3 read'),
|
|
(Command('man 3 read'), 'man 2 read'),
|
|
(Command('man -s2 read'), 'man -s3 read'),
|
|
(Command('man -s3 read'), 'man -s2 read'),
|
|
(Command('man -s 2 read'), 'man -s 3 read'),
|
|
(Command('man -s 3 read'), 'man -s 2 read')])
|
|
def test_get_new_command(command, new_command):
|
|
assert get_new_command(command) == new_command
|