From b31aea373751520e73a91ad56faab4f3248b1bba Mon Sep 17 00:00:00 2001 From: Simen Bekkhus Date: Sun, 19 Jul 2015 13:44:11 +0200 Subject: [PATCH] Add git_branch_delete rule --- tests/rules/test_git_branch_delete.py | 22 ++++++++++++++++++++++ thefuck/rules/git_branch_delete.py | 7 +++++++ 2 files changed, 29 insertions(+) create mode 100644 tests/rules/test_git_branch_delete.py create mode 100644 thefuck/rules/git_branch_delete.py diff --git a/tests/rules/test_git_branch_delete.py b/tests/rules/test_git_branch_delete.py new file mode 100644 index 00000000..44a8f449 --- /dev/null +++ b/tests/rules/test_git_branch_delete.py @@ -0,0 +1,22 @@ +import pytest +from thefuck.rules.git_branch_delete import match, get_new_command +from tests.utils import Command + + +@pytest.fixture +def stderr(): + return '''error: The branch 'branch' is not fully merged. +If you are sure you want to delete it, run 'git branch -D branch'. + +''' + + +def test_match(stderr): + assert match(Command('git branch -d branch', stderr=stderr), None) + assert not match(Command('git branch -d branch'), None) + assert not match(Command('ls', stderr=stderr), None) + + +def test_get_new_command(stderr): + assert get_new_command(Command('git branch -d branch', stderr=stderr), None)\ + == "git branch -D branch" diff --git a/thefuck/rules/git_branch_delete.py b/thefuck/rules/git_branch_delete.py new file mode 100644 index 00000000..ad465af6 --- /dev/null +++ b/thefuck/rules/git_branch_delete.py @@ -0,0 +1,7 @@ +def match(command, settings): + return ('git branch -d' in command.script + and 'If you are sure you want to delete it' in command.stderr) + + +def get_new_command(command, settings): + return command.script.replace('-d', '-D')