1
0
mirror of https://github.com/nvbn/thefuck.git synced 2025-09-24 22:22:34 +01:00

Added cd_mkdir rule

This fixes #50 and #98.

```bash
$ cd foo/bar/baz
cd: foo: No such file or directory
$ fuck
mkdir -p foo/bar/baz && cd foo/bar/baz
```

Added matchers for both Bash and sh error messages. Depending on your
default shell, the messages might be slightly different.
This commit is contained in:
Nils Winkler
2015-04-24 08:52:39 +02:00
parent d0e02bc20c
commit d12a8bcdd8
3 changed files with 34 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
from mock import Mock
from thefuck.rules.cd_mkdir import match, get_new_command
def test_match():
assert match(Mock(script='cd foo', stderr='cd: foo: No such file or directory'),
None)
assert match(Mock(script='cd foo/bar/baz', stderr='cd: foo: No such file or directory'),
None)
assert match(Mock(script='cd foo/bar/baz', stderr='cd: can\'t cd to foo/bar/baz'),
None)
assert not match(Mock(script='cd foo',
stderr=''), None)
assert not match(Mock(script='', stderr=''), None)
def test_get_new_command():
assert get_new_command(Mock(script='cd foo'), None) == 'mkdir -p foo && cd foo'
assert get_new_command(Mock(script='cd foo/bar/baz'), None) == 'mkdir -p foo/bar/baz && cd foo/bar/baz'