summaryrefslogtreecommitdiff
path: root/t/t7502-commit.sh
diff options
context:
space:
mode:
authorTay Ray Chuan <rctay89@gmail.com>2010-05-27 15:34:50 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-05-28 22:35:00 (GMT)
commitfc6fa0d0f38f4e5b47f260fe2755ba0d1b17ae53 (patch)
tree2f15aecb0abdfa39af2f835fe3123f23c9df597c /t/t7502-commit.sh
parentc197702156e2164074327f5e870ab0d3021977fc (diff)
downloadgit-fc6fa0d0f38f4e5b47f260fe2755ba0d1b17ae53.zip
git-fc6fa0d0f38f4e5b47f260fe2755ba0d1b17ae53.tar.gz
git-fc6fa0d0f38f4e5b47f260fe2755ba0d1b17ae53.tar.bz2
t7502-commit: add tests for summary output
Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t7502-commit.sh')
-rwxr-xr-xt/t7502-commit.sh43
1 files changed, 43 insertions, 0 deletions
diff --git a/t/t7502-commit.sh b/t/t7502-commit.sh
index 844fb43..478b637 100755
--- a/t/t7502-commit.sh
+++ b/t/t7502-commit.sh
@@ -4,8 +4,51 @@ test_description='git commit porcelain-ish'
. ./test-lib.sh
+# Arguments: [<prefix] [<commit message>]
+check_summary_oneline() {
+ test_tick &&
+ git commit -m "$2" | head -1 > act &&
+
+ # branch name
+ SUMMARY_PREFIX="$(git name-rev --name-only HEAD)" &&
+
+ # append the "special" prefix, like "root-commit", "detached HEAD"
+ if test -n "$1"
+ then
+ SUMMARY_PREFIX="$SUMMARY_PREFIX ($1)"
+ fi
+
+ # abbrev SHA-1
+ SUMMARY_POSTFIX="$(git log -1 --pretty='format:%h')"
+ echo "[$SUMMARY_PREFIX $SUMMARY_POSTFIX] $2" >exp &&
+
+ test_cmp exp act
+}
+
+test_expect_success 'output summary format' '
+
+ echo new >file1 &&
+ git add file1 &&
+ check_summary_oneline "root-commit" "initial" &&
+
+ echo change >>file1 &&
+ git add file1 &&
+ check_summary_oneline "" "a change"
+'
+
+output_tests_cleanup() {
+ # this is needed for "do not fire editor in the presence of conflicts"
+ git checkout master &&
+
+ # this is needed for the "partial removal" test to pass
+ git rm file1 &&
+ git commit -m "cleanup"
+}
+
test_expect_success 'the basics' '
+ output_tests_cleanup &&
+
echo doing partial >"commit is" &&
mkdir not &&
echo very much encouraged but we should >not/forbid &&