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@xxxxxxx> --- t/t0006-date.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/t/t0006-date.sh b/t/t0006-date.sh index ffb2975e48..c7c0786b24 100755 --- a/t/t0006-date.sh +++ b/t/t0006-date.sh @@ -128,4 +128,24 @@ check_approxidate '6AM, June 7, 2009' '2009-06-07 06:00:00' check_approxidate '2008-12-01' '2008-12-01 19:20:00' check_approxidate '2009-12-01' '2009-12-01 19:20:00' +check_date_format() { + format=$1 + t=$(($TEST_DATE_NOW - $2)) + expect=$3 + test_expect_success "human date $t" " + echo $TEST_DATE_NOW >now && + test-tool date human $t >actual && + grep '$expect' actual +" +} + +check_date_format human 18000 "5 hours ago" # 5 hours ago +check_date_format human 432000 "Tue Aug 25 19:20" # 5 days ago +check_date_format human 1728000 "Mon Aug 10 19:20" # 3 weeks ago +check_date_format human 13000000 "Thu Apr 2 08:13" # 5 months ago +check_date_format human 31449600 "Aug 31 2008" # 12 months ago +check_date_format human 37500000 "Jun 22 2008" # 1 year, 2 months ago +check_date_format human 55188000 "Dec 1 2007" # 1 year, 9 months ago +check_date_format human 630000000 "Sep 13 1989" # 20 years ago + test_done -- 2.20.1.2.gb21ebb671b