Message ID | 20190121051646.20991-6-ischis2@cox.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Re-roll of 'human' date format patch set | expand |
On Sun, Jan 20, 2019 at 10:16:46PM -0700, Stephen P. Smith wrote: > 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> > --- > t/t0006-date.sh | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/t/t0006-date.sh b/t/t0006-date.sh > index ffb2975e48..35f7b52dd7 100755 > --- a/t/t0006-date.sh > +++ b/t/t0006-date.sh > @@ -128,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=$(($TEST_DATE_NOW - $1)) > + echo "$t -> $2" >expect > + test_expect_success "human date $t" ' > + test-tool date human $t >actual && > + test_cmp expect actual Note that the relative time output is translated, see all the Q_() calls in show_date_relative(). Consequently, these tests fail in GETTEXT_POISON builds. Please use 'test_i18ncmp' instead. Furthermore, I think it would help readibility of this helper function if the commands in the 'test_expect_success' block were indented. > +' > +} > + > +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 >
On Monday, January 21, 2019 8:04:29 AM MST SZEDER Gábor wrote: > Note that the relative time output is translated, see all the Q_() > calls in show_date_relative(). Consequently, these tests fail in > GETTEXT_POISON builds. Please use 'test_i18ncmp' instead. > > Furthermore, I think it would help readibility of this helper function > if the commands in the 'test_expect_success' block were indented. No problem. I will wait a day or two for any more comments
diff --git a/t/t0006-date.sh b/t/t0006-date.sh index ffb2975e48..35f7b52dd7 100755 --- a/t/t0006-date.sh +++ b/t/t0006-date.sh @@ -128,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=$(($TEST_DATE_NOW - $1)) + echo "$t -> $2" >expect + test_expect_success "human date $t" ' + test-tool date human $t >actual && + test_cmp 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
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> --- t/t0006-date.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)