t1411: add more selector index/date tests
authorJeff King <peff@peff.net>
Fri, 4 May 2012 05:23:14 +0000 (01:23 -0400)
committerJunio C Hamano <gitster@pobox.com>
Fri, 4 May 2012 16:39:14 +0000 (09:39 -0700)
We already check that @{now} and "--date" cause the
displayed selector to use the date for both the multiline
and oneline formats. However, we miss several cases:

  1. The --format=%gd selector is not tested at all.

  2. We do not check how the log.date config interacts with the
     "--date" magic (according to f4ea32f, it should not
     impact the output).

Doing so reveals that the combination of both (log.date
combined with the %gd format) does not behave as expected.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t1411-reflog-show.sh

index caa687b5b46cea65ed16c70c29cc11e9e8b771f1..4706f4c50cbecf656098ae70d0a8b438a5a26c3a 100755 (executable)
@@ -64,6 +64,14 @@ test_expect_success 'using @{now} syntax shows reflog date (oneline)' '
        test_cmp expect actual
 '
 
+cat >expect <<'EOF'
+HEAD@{Thu Apr 7 15:13:13 2005 -0700}
+EOF
+test_expect_success 'using @{now} syntax shows reflog date (format=%gd)' '
+       git log -g -1 --format=%gd HEAD@{now} >actual &&
+       test_cmp expect actual
+'
+
 cat >expect <<'EOF'
 Reflog: HEAD@{1112911993 -0700} (C O Mitter <committer@example.com>)
 Reflog message: commit (initial): one
@@ -82,6 +90,43 @@ test_expect_success 'using --date= shows reflog date (oneline)' '
        test_cmp expect actual
 '
 
+cat >expect <<'EOF'
+HEAD@{1112911993 -0700}
+EOF
+test_expect_success 'using --date= shows reflog date (format=%gd)' '
+       git log -g -1 --format=%gd --date=raw >actual &&
+       test_cmp expect actual
+'
+
+cat >expect <<'EOF'
+Reflog: HEAD@{0} (C O Mitter <committer@example.com>)
+Reflog message: commit (initial): one
+EOF
+test_expect_success 'log.date does not invoke "--date" magic (multiline)' '
+       test_config log.date raw &&
+       git log -g -1 >tmp &&
+       grep ^Reflog <tmp >actual &&
+       test_cmp expect actual
+'
+
+cat >expect <<'EOF'
+e46513e HEAD@{0}: commit (initial): one
+EOF
+test_expect_success 'log.date does not invoke "--date" magic (oneline)' '
+       test_config log.date raw &&
+       git log -g -1 --oneline >actual &&
+       test_cmp expect actual
+'
+
+cat >expect <<'EOF'
+HEAD@{0}
+EOF
+test_expect_failure 'log.date does not invoke "--date" magic (format=%gd)' '
+       test_config log.date raw &&
+       git log -g -1 --format=%gd >actual &&
+       test_cmp expect actual
+'
+
 : >expect
 test_expect_success 'empty reflog file' '
        git branch empty &&