From 502d57596e645ec91bb9b8ca62833cdb0de4a3b1 Mon Sep 17 00:00:00 2001
From: Lars Hjemli
Date: Sun, 18 May 2008 21:09:26 +0200
Subject: ui-commit: handle root commits

Both cgit_print_diff() and cgit_diff_tree() handles root commits nicely,
but cgit_print_commit() forgot to check the case of 0 parents.

This fixes it, and adds tests to avoid future regressions.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
---
 tests/t0105-commit.sh | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

(limited to 'tests')

diff --git a/tests/t0105-commit.sh b/tests/t0105-commit.sh
index aa2bf33..4e1236b 100755
--- a/tests/t0105-commit.sh
+++ b/tests/t0105-commit.sh
@@ -19,4 +19,19 @@ run_test 'find diff summary' '
 	 grep -e "1 files changed, 1 insertions, 0 deletions" trash/tmp
 '
 
+run_test 'get root commit' '
+	 root=$(cd trash/repos/foo && git rev-list --reverse HEAD | head -1) &&
+	 cgit_url "foo/commit&id=$root" >trash/tmp &&
+	 grep "</html>" trash/tmp
+'
+
+run_test 'root commit contains diffstat' '
+	 grep "<a href=./foo/diff/file-1.>file-1</a>" trash/tmp
+'
+
+run_test 'root commit contains diff' '
+	 grep ">diff --git a/file-1 b/file-1<" trash/tmp &&
+	 grep -e "<div class=.add.>+1</div>" trash/tmp
+'
+
 tests_done
-- 
cgit v1.2.3-54-g00ecf