diff --git a/README.md b/README.md index c36aa5a4..36c4b8bc 100644 --- a/README.md +++ b/README.md @@ -190,6 +190,7 @@ Enabled by default only on specific platforms: * `apt_get` – installs app from apt if it not installed; * `brew_install` – fixes formula name for `brew install`; * `brew_unknown_command` – fixes wrong brew commands, for example `brew docto/brew doctor`; +* `brew_upgrade` – appends `-all` to `brew upgrade` as per Homebrew's new behaviour * `pacman` – installs app with `pacman` or `yaourt` if it is not installed. Bundled, but not enabled by default: diff --git a/tests/rules/test_brew_upgrade.py b/tests/rules/test_brew_upgrade.py new file mode 100644 index 00000000..efe0d4ce --- /dev/null +++ b/tests/rules/test_brew_upgrade.py @@ -0,0 +1,15 @@ +import pytest +from thefuck.rules.brew_upgrade import match, get_new_command +from tests.utils import Command + + +@pytest.mark.parametrize('command', [ + Command(script='brew upgrade')]) +def test_match(command): + assert match(command, None) + + +@pytest.mark.parametrize('command, new_command', [ + (Command('brew upgrade'), 'brew upgrade --all')]) +def test_get_new_command(command, new_command): + assert get_new_command(command, None) == new_command diff --git a/thefuck/rules/brew_upgrade.py b/thefuck/rules/brew_upgrade.py new file mode 100644 index 00000000..2edfaa80 --- /dev/null +++ b/thefuck/rules/brew_upgrade.py @@ -0,0 +1,14 @@ +# Appends --all to the brew upgrade command +# +# Example: +# > brew upgrade +# Warning: brew upgrade with no arguments will change behaviour soon! +# It currently upgrades all formula but this will soon change to require '--all'. +# +# + +def match(command, settings): + return (command.script == 'brew upgrade') + +def get_new_command(command, settings): + return command.script + ' --all'