Merge branch 'mm/push-social-engineering-attack-doc' into maint
[git] / t / t9003-help-autocorrect.sh
1 #!/bin/sh
2
3 test_description='help.autocorrect finding a match'
4 . ./test-lib.sh
5
6 test_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
30 test_expect_success 'autocorrect showing candidates' '
31         git config help.autocorrect 0 &&
32
33         test_must_fail git lfg 2>actual &&
34         grep "^ lgf" actual &&
35
36         test_must_fail git distimdist 2>actual &&
37         grep "^ distimdistim" actual
38 '
39
40 test_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
52 test_done