merge: refuse --commit with --squash
[gitweb.git] / t / t0006-date.sh
index 7ac9466d5055e02179467fa9e41004bbc89df6dc..d9fcc829a9e6cb10088e6503841928cf85d1d697 100755 (executable)
@@ -4,13 +4,13 @@ test_description='test date parsing and printing'
 . ./test-lib.sh
 
 # arbitrary reference time: 2009-08-30 19:20:00
-TEST_DATE_NOW=1251660000; export TEST_DATE_NOW
+GIT_TEST_DATE_NOW=1251660000; export GIT_TEST_DATE_NOW
 
 check_relative() {
-       t=$(($TEST_DATE_NOW - $1))
+       t=$(($GIT_TEST_DATE_NOW - $1))
        echo "$t -> $2" >expect
        test_expect_${3:-success} "relative date ($2)" "
-       test-date relative $t >actual &&
+       test-tool date relative $t >actual &&
        test_i18ncmp expect actual
        "
 }
@@ -35,7 +35,7 @@ check_show () {
        zone=$5
        test_expect_success $prereqs "show date ($format:$time)" '
                echo "$time -> $expect" >expect &&
-               TZ=${zone:-$TZ} test-date show:"$format" "$time" >actual &&
+               TZ=${zone:-$TZ} test-tool date show:"$format" "$time" >actual &&
                test_cmp expect actual
        '
 }
@@ -71,7 +71,7 @@ check_show iso-local "$FUTURE" "2152-06-19 22:24:56 +0000" TIME_IS_64BIT,TIME_T_
 check_parse() {
        echo "$1 -> $2" >expect
        test_expect_${4:-success} "parse date ($1${3:+ TZ=$3})" "
-       TZ=${3:-$TZ} test-date parse '$1' >actual &&
+       TZ=${3:-$TZ} test-tool date parse '$1' >actual &&
        test_cmp expect actual
        "
 }
@@ -92,7 +92,7 @@ check_parse '2008-02-14 20:30:45' '2008-02-14 20:30:45 -0500' EST5
 check_approxidate() {
        echo "$1 -> $2 +0000" >expect
        test_expect_${3:-success} "parse approxidate ($1)" "
-       test-date approxidate '$1' >actual &&
+       test-tool date approxidate '$1' >actual &&
        test_cmp expect actual
        "
 }
@@ -113,6 +113,8 @@ check_approxidate '3:00' '2009-08-30 03:00:00'
 check_approxidate '15:00' '2009-08-30 15:00:00'
 check_approxidate 'noon today' '2009-08-30 12:00:00'
 check_approxidate 'noon yesterday' '2009-08-29 12:00:00'
+check_approxidate 'January 5th noon pm' '2009-01-05 12:00:00'
+check_approxidate '10am noon' '2009-08-29 12:00:00'
 
 check_approxidate 'last tuesday' '2009-08-25 19:20:00'
 check_approxidate 'July 5th' '2009-07-05 19:20:00'
@@ -126,4 +128,22 @@ 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_human() {
+       t=$(($GIT_TEST_DATE_NOW - $1))
+       echo "$t -> $2" >expect
+       test_expect_success "human date $t" '
+               test-tool date human $t >actual &&
+               test_i18ncmp 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