Browse Source
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()maint
Junio C Hamano
9 years ago
2 changed files with 76 additions and 18 deletions
@ -0,0 +1,52 @@
@@ -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 |
Loading…
Reference in new issue