Skip to content

Commit 110a6a1

Browse files
Stephen P. Smithgitster
authored andcommitted
Add human date format tests.
When using `human` several fields are suppressed depending on the time difference between the reference date and the local computer date. In cases where the difference is less than a year, the year field is supppressed. If the time is less than a day; the month and year is suppressed. Use TEST_DATE_NOW environment variable when using the test-tool to hold the expected output strings constant. Signed-off-by: Stephen P. Smith <ischis2@cox.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent b841d4f commit 110a6a1

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

t/t0006-date.sh

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,4 +126,22 @@ check_approxidate '6AM, June 7, 2009' '2009-06-07 06:00:00'
126126
check_approxidate '2008-12-01' '2008-12-01 19:20:00'
127127
check_approxidate '2009-12-01' '2009-12-01 19:20:00'
128128

129+
check_date_format_human() {
130+
t=$(($GIT_TEST_DATE_NOW - $1))
131+
echo "$t -> $2" >expect
132+
test_expect_success "human date $t" '
133+
test-tool date human $t >actual &&
134+
test_i18ncmp expect actual
135+
'
136+
}
137+
138+
check_date_format_human 18000 "5 hours ago" # 5 hours ago
139+
check_date_format_human 432000 "Tue Aug 25 19:20" # 5 days ago
140+
check_date_format_human 1728000 "Mon Aug 10 19:20" # 3 weeks ago
141+
check_date_format_human 13000000 "Thu Apr 2 08:13" # 5 months ago
142+
check_date_format_human 31449600 "Aug 31 2008" # 12 months ago
143+
check_date_format_human 37500000 "Jun 22 2008" # 1 year, 2 months ago
144+
check_date_format_human 55188000 "Dec 1 2007" # 1 year, 9 months ago
145+
check_date_format_human 630000000 "Sep 13 1989" # 20 years ago
146+
129147
test_done

0 commit comments

Comments
 (0)