1#!/bin/sh
2
3test_description='help.autocorrect finding a match'
4. ./test-lib.sh
5
6test_expect_success 'setup' '
7 # An alias
8 git config alias.lgf "log --format=%s --first-parent" &&
9
10 # A random user-defined command
11 write_script git-distimdistim <<-EOF &&
12 echo distimdistim was called
13 EOF
14
15 PATH="$PATH:." &&
16 export PATH &&
17
18 git commit --allow-empty -m "a single log entry" &&
19
20 # Sanity check
21 git lgf >actual &&
22 echo "a single log entry" >expect &&
23 test_cmp expect actual &&
24
25 git distimdistim >actual &&
26 echo "distimdistim was called" >expect &&
27 test_cmp expect actual
28'
29
30test_expect_success 'autocorrect showing candidates' '
31 git config help.autocorrect 0 &&
32
33 test_must_fail git lfg 2>actual &&
34 sed -e "1,/^Did you mean this/d" actual | grep lgf &&
35
36 test_must_fail git distimdist 2>actual &&
37 sed -e "1,/^Did you mean this/d" actual | grep distimdistim
38'
39
40test_expect_success 'autocorrect running commands' '
41 git config help.autocorrect -1 &&
42
43 git lfg >actual &&
44 echo "a single log entry" >expect &&
45 test_cmp expect actual &&
46
47 git distimdist >actual &&
48 echo "distimdistim was called" >expect &&
49 test_cmp expect actual
50'
51
52test_done