]>
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 | |
a903e233 | 47 | ${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_reset}${c_HEAD}HEAD ->\ |
51ff0f27 | 48 | ${c_reset}${c_branch}master${c_reset}${c_commit},\ |
5ee87585 | 49 | ${c_reset}${c_tag}tag: v1.0${c_reset}${c_commit},\ |
51ff0f27 | 50 | ${c_reset}${c_tag}tag: B${c_reset}${c_commit})${c_reset} B |
5ee87585 JH |
51 | ${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_reset}${c_tag}tag: A1${c_reset}${c_commit},\ |
52 | ${c_reset}${c_remoteBranch}other/master${c_reset}${c_commit})${c_reset} A1 | |
53 | ${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_reset}${c_stash}refs/stash${c_reset}${c_commit})${c_reset}\ | |
56710281 | 54 | On master: Changes to A.t |
5ee87585 | 55 | ${c_commit}COMMIT_ID${c_reset}${c_commit} (${c_reset}${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 |