3 test_description='help.autocorrect finding a match'
6 test_expect_success 'setup' '
8 git config alias.lgf "log --format=%s --first-parent" &&
10 # A random user-defined command
11 write_script git-distimdistim <<-EOF &&
12 echo distimdistim was called
18 git commit --allow-empty -m "a single log entry" &&
22 echo "a single log entry" >expect &&
23 test_cmp expect actual &&
25 git distimdistim >actual &&
26 echo "distimdistim was called" >expect &&
27 test_cmp expect actual
30 test_expect_success 'autocorrect showing candidates' '
31 git config help.autocorrect 0 &&
33 test_must_fail git lfg 2>actual &&
34 grep "^ lgf" actual &&
36 test_must_fail git distimdist 2>actual &&
37 grep "^ distimdistim" actual
40 for immediate in -1 immediate
42 test_expect_success 'autocorrect running commands' '
43 git config help.autocorrect $immediate &&
46 echo "a single log entry" >expect &&
47 test_cmp expect actual &&
49 git distimdist >actual &&
50 echo "distimdistim was called" >expect &&
51 test_cmp expect actual
55 test_expect_success 'autocorrect can be declined altogether' '
56 git config help.autocorrect never &&
58 test_must_fail git lfg 2>actual &&
59 if test_have_prereq C_LOCALE_OUTPUT
61 grep "is not a git command" actual &&
62 test_line_count = 1 actual