]>
Commit | Line | Data |
---|---|---|
56710281 NR |
1 | #!/bin/sh |
2 | # | |
3 | # Copyright (c) 2010 Nazri Ramliy | |
4 | # | |
5 | ||
6 | test_description='Test for "git log --decorate" colors' | |
7 | ||
8 | . ./test-lib.sh | |
9 | ||
10 | get_color () | |
11 | { | |
12 | git config --get-color no.such.slot "$1" | |
13 | } | |
14 | ||
15 | test_expect_success setup ' | |
16 | git config diff.color.commit yellow && | |
17 | git config color.decorate.branch green && | |
18 | git config color.decorate.remoteBranch red && | |
19 | git config color.decorate.tag "reverse bold yellow" && | |
20 | git config color.decorate.stash magenta && | |
21 | git config color.decorate.HEAD cyan && | |
22 | ||
23 | c_reset=$(get_color reset) && | |
24 | ||
25 | c_commit=$(get_color yellow) && | |
26 | c_branch=$(get_color green) && | |
27 | c_remoteBranch=$(get_color red) && | |
28 | c_tag=$(get_color "reverse bold yellow") && | |
29 | c_stash=$(get_color magenta) && | |
30 | c_HEAD=$(get_color cyan) && | |
31 | ||
32 | test_commit A && | |
33 | git clone . other && | |
34 | ( | |
35 | cd other && | |
36 | test_commit A1 | |
37 | ) && | |
38 | ||
39 | git remote add -f other ./other && | |
40 | test_commit B && | |
41 | git tag v1.0 && | |
42 | echo >>A.t && | |
43 | git stash save Changes to A.t | |
44 | ' | |
45 | ||
46 | cat >expected <<EOF | |
9d3f002f | 47 | ${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_HEAD}HEAD${c_reset}${c_commit},\ |
56710281 NR |
48 | ${c_tag}tag: v1.0${c_reset}${c_commit},\ |
49 | ${c_tag}tag: B${c_reset}${c_commit},\ | |
50 | ${c_branch}master${c_reset}${c_commit})${c_reset} B | |
9d3f002f | 51 | ${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_tag}tag: A1${c_reset}${c_commit},\ |
56710281 | 52 | ${c_remoteBranch}other/master${c_reset}${c_commit})${c_reset} A1 |
9d3f002f | 53 | ${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_stash}refs/stash${c_reset}${c_commit})${c_reset}\ |
56710281 | 54 | On master: Changes to A.t |
9d3f002f | 55 | ${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_tag}tag: A${c_reset}${c_commit})${c_reset} A |
56710281 NR |
56 | EOF |
57 | ||
58 | # We want log to show all, but the second parent to refs/stash is irrelevant | |
59 | # to this test since it does not contain any decoration, hence --first-parent | |
60 | test_expect_success 'Commit Decorations Colored Correctly' ' | |
61 | git log --first-parent --abbrev=10 --all --decorate --oneline --color=always | | |
62 | sed "s/[0-9a-f]\{10,10\}/COMMIT_ID/" >out && | |
63 | test_cmp expected out | |
64 | ' | |
65 | ||
66 | test_done |