From: Nazri Ramliy <ayiehere@gmail.com>
To: gitster@pobox.com, git@vger.kernel.org
Cc: Nazri Ramliy <ayiehere@gmail.com>
Subject: [PATCH] Add test for correct coloring of git log --decoration
Date: Mon, 28 Jun 2010 15:30:40 +0800 [thread overview]
Message-ID: <1277710240-11378-1-git-send-email-ayiehere@gmail.com> (raw)
In-Reply-To: <7v6314fd6q.fsf@alter.siamese.dyndns.org>
Signed-off-by: Nazri Ramliy <ayiehere@gmail.com>
---
On Mon, Jun 28, 2010 at 4:11 AM, Junio C Hamano <gitster@pobox.com> wrote:
> * ar/decorate-color (2010-06-24) 4 commits
> - Allow customizable commit decorations colors
> - log --decorate: Colorize commit decorations
> - log-tree.c: Use struct name_decoration's type for classifying decoration
> - commit.h: add 'type' to struct name_decoration
>
> Tests, perhaps? Otherwise looked sane.
Here is a proposed test for checking if the decorations are colored correctly.
It should be applied on top of 5e11bee65f601ba97dc4c61c75fcb2f448fdcb1c in pu.
I've tried adding
log --decorate --all --oneline --color=always
to t4013-diff-various.sh but it seems a bit out of place because my test only
test for colors, while no other test in that file test for colors, hence the
new test file (t4207-log-decoration-colors.sh).
nazri
t/t4207-log-decoration-colors.sh | 70 ++++++++++++++++++++++++++++++++++++++
1 files changed, 70 insertions(+), 0 deletions(-)
create mode 100755 t/t4207-log-decoration-colors.sh
diff --git a/t/t4207-log-decoration-colors.sh b/t/t4207-log-decoration-colors.sh
new file mode 100755
index 0000000..260e71f
--- /dev/null
+++ b/t/t4207-log-decoration-colors.sh
@@ -0,0 +1,70 @@
+#!/bin/sh
+#
+# Copyright (c) 2010 Nazri Ramliy
+#
+
+test_description='Test for "git log --decorate" colors
+'
+
+. ./test-lib.sh
+
+test_expect_success setup '
+ echo foo > foo.txt &&
+ git add foo.txt &&
+ test_tick &&
+ git commit -m first &&
+
+ echo bar > bar.txt &&
+ git add bar.txt &&
+ test_tick &&
+ git commit -m second &&
+
+ test_tick &&
+ EDITOR=cat git tag v1.0 &&
+
+ git clone . local_clone &&
+
+ cd local_clone &&
+ git config diff.color.commit yellow &&
+ git config color.decorate.branch green &&
+ git config color.decorate.remoteBranch red &&
+ git config color.decorate.tag yellow &&
+ git config color.decorate.stash magenta &&
+ git config color.decorate.HEAD cyan &&
+
+ echo baz >> foo.txt &&
+ git stash save baz
+'
+
+get_color()
+{
+ git config --get-color no.such.slot "$1"
+}
+
+# Colors
+c_reset=$(get_color reset)
+c_commit=$(get_color yellow)
+c_branch=$(get_color green)
+c_remoteBranch=$(get_color red)
+c_tag=$(get_color yellow)
+c_stash=$(get_color magenta)
+c_HEAD=$(get_color cyan)
+
+cat > expected << EOF
+${c_commit}COMMIT_ID (${c_stash}refs/stash${c_reset}${c_commit})${c_reset} On master: baz
+${c_commit}COMMIT_ID (${c_HEAD}HEAD${c_reset}${c_commit},\
+ ${c_tag}tag: v1.0${c_reset}${c_commit},\
+ ${c_remoteBranch}origin/master${c_reset}${c_commit},\
+ ${c_remoteBranch}origin/HEAD${c_reset}${c_commit},\
+ ${c_branch}master${c_reset}${c_commit})${c_reset} second
+${c_commit}COMMIT_ID${c_reset} first
+EOF
+
+# We want log to show all, but the second parent to refs/stash is irrelevant
+# to this test since it does not contain any decoration, hence --first-parent
+test_expect_success 'Commit Decorations Colored Correctly' '
+ git log --first-parent --abbrev=10 --all --decorate --oneline --color=always |sed "s/[0-9a-f]\{10,10\}/COMMIT_ID/" > out &&
+ test_cmp expected out
+'
+
+test_done
--
1.7.1.245.g7c42e.dirty
next prev parent reply other threads:[~2010-06-28 7:31 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-27 20:11 What's cooking in git.git (Jun 2010, #05; Sun, 27) Junio C Hamano
2010-06-28 7:30 ` Nazri Ramliy [this message]
2010-06-29 5:43 ` [PATCH] Add test for correct coloring of git log --decoration Junio C Hamano
2010-06-29 7:47 ` Nazri Ramliy
2010-06-30 20:37 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1277710240-11378-1-git-send-email-ayiehere@gmail.com \
--to=ayiehere@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).