diff options
author | Junio C Hamano <gitster@pobox.com> | 2016-02-17 10:13:31 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2016-02-17 10:13:31 -0800 |
commit | dbda66b0e283494c35958316c9b1c47b6e6c9f59 (patch) | |
tree | cfbee1f5d4982aa377386aafc2661568dbc2e70a /t | |
parent | f60ccdd98c3f1183922b43478b629049408849ff (diff) | |
parent | 8384c139cb9409fb3cf5ef70afff263917581258 (diff) | |
download | git-dbda66b0e283494c35958316c9b1c47b6e6c9f59.tar.gz git-dbda66b0e283494c35958316c9b1c47b6e6c9f59.tar.xz |
Merge branch 'nd/clear-gitenv-upon-use-of-alias'
The automatic typo correction applied to an alias was broken
with a recent change already in 'master'.
* nd/clear-gitenv-upon-use-of-alias:
restore_env(): free the saved environment variable once we are done
git: simplify environment save/restore logic
git: protect against unbalanced calls to {save,restore}_env()
git: remove an early return from save_env_before_alias()
Diffstat (limited to 't')
-rwxr-xr-x | t/t9003-help-autocorrect.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/t/t9003-help-autocorrect.sh b/t/t9003-help-autocorrect.sh new file mode 100755 index 000000000..dfe95c923 --- /dev/null +++ b/t/t9003-help-autocorrect.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +test_description='help.autocorrect finding a match' +. ./test-lib.sh + +test_expect_success 'setup' ' + # An alias + git config alias.lgf "log --format=%s --first-parent" && + + # A random user-defined command + write_script git-distimdistim <<-EOF && + echo distimdistim was called + EOF + + PATH="$PATH:." && + export PATH && + + git commit --allow-empty -m "a single log entry" && + + # Sanity check + git lgf >actual && + echo "a single log entry" >expect && + test_cmp expect actual && + + git distimdistim >actual && + echo "distimdistim was called" >expect && + test_cmp expect actual +' + +test_expect_success 'autocorrect showing candidates' ' + git config help.autocorrect 0 && + + test_must_fail git lfg 2>actual && + sed -e "1,/^Did you mean this/d" actual | grep lgf && + + test_must_fail git distimdist 2>actual && + sed -e "1,/^Did you mean this/d" actual | grep distimdistim +' + +test_expect_success 'autocorrect running commands' ' + git config help.autocorrect -1 && + + git lfg >actual && + echo "a single log entry" >expect && + test_cmp expect actual && + + git distimdist >actual && + echo "distimdistim was called" >expect && + test_cmp expect actual +' + +test_done |