mirror of
https://github.com/nvbn/thefuck.git
synced 2025-03-20 01:28:56 +00:00
update readme and add tests
added tests for matching and fixing rvm use command. updated readme to include rvm use.
This commit is contained in:
parent
1f680de44c
commit
789fd2f4cd
@ -307,6 +307,7 @@ following rules are enabled by default:
|
|||||||
* `remove_shell_prompt_literal` – remove leading shell prompt symbol `$`, common when copying commands from documentations;
|
* `remove_shell_prompt_literal` – remove leading shell prompt symbol `$`, common when copying commands from documentations;
|
||||||
* `remove_trailing_cedilla` – remove trailing cedillas `ç`, a common typo for european keyboard layouts;
|
* `remove_trailing_cedilla` – remove trailing cedillas `ç`, a common typo for european keyboard layouts;
|
||||||
* `rm_dir` – adds `-rf` when you try to remove a directory;
|
* `rm_dir` – adds `-rf` when you try to remove a directory;
|
||||||
|
* `rvm_use` – adds `rvm install` command infront of `rvm use` command when requested version is not installed;
|
||||||
* `scm_correction` – corrects wrong scm like `hg log` to `git log`;
|
* `scm_correction` – corrects wrong scm like `hg log` to `git log`;
|
||||||
* `sed_unterminated_s` – adds missing '/' to `sed`'s `s` commands;
|
* `sed_unterminated_s` – adds missing '/' to `sed`'s `s` commands;
|
||||||
* `sl_ls` – changes `sl` to `ls`;
|
* `sl_ls` – changes `sl` to `ls`;
|
||||||
|
26
tests/rules/test_rvm_use.py
Normal file
26
tests/rules/test_rvm_use.py
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
import pytest
|
||||||
|
from thefuck.rules.rvm_use import match, get_new_command
|
||||||
|
from thefuck.types import Command
|
||||||
|
|
||||||
|
|
||||||
|
output = pattern = f"""RVM is not a function, selecting rubies with 'rvm use ...' will not work.
|
||||||
|
|
||||||
|
You need to change your terminal emulator preferences to allow login shell.
|
||||||
|
Sometimes it is required to use `/bin/bash --login` as the command.
|
||||||
|
Please visit https://rvm.io/integration/gnome-terminal/ for an example."""
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('command', [
|
||||||
|
Command('rvm use 2.7.2', output),
|
||||||
|
Command('rvm use 3.0.1', output),
|
||||||
|
Command('rvm use 1.6.7', output)])
|
||||||
|
def test_match(command):
|
||||||
|
assert match(command)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize('command, new_command', [
|
||||||
|
(Command('rvm use 2.7.2', output), 'rvm install "ruby-2.7.2"; rvm use 2.7.2'),
|
||||||
|
(Command('rvm use 3.0.1', output), 'rvm install "ruby-3.0.1"; rvm use 3.0.1'),
|
||||||
|
(Command('rvm use 1.6.7', output), 'rvm install "ruby-1.6.7"; rvm use 1.6.7')])
|
||||||
|
def test_get_new_command(command, new_command):
|
||||||
|
assert get_new_command(command) == new_command
|
Loading…
x
Reference in New Issue
Block a user