提交 6b097788 编写于 作者: J Jeff King 提交者: Junio C Hamano

t0006: test timezone parsing

Previously, test-date simply ignored the parsed timezone and
told show_date() to use UTC. Instead, let's print out what
we actually parsed.

While we're at it, let's make it easy for tests to work in a specific
timezone.
Signed-off-by: NJeff King <peff@peff.net>
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 2c640344
......@@ -28,8 +28,8 @@ check_show 31449600 '12 months ago'
check_parse() {
echo "$1 -> $2" >expect
test_expect_${3:-success} "parse date ($1)" "
test-date parse '$1' >actual &&
test_expect_${4:-success} "parse date ($1${3:+ TZ=$3})" "
TZ=${3:-$TZ} test-date parse '$1' >actual &&
test_cmp expect actual
"
}
......@@ -38,6 +38,7 @@ check_parse 2008 bad
check_parse 2008-02 bad
check_parse 2008-02-14 bad
check_parse '2008-02-14 20:30:45' '2008-02-14 20:30:45 +0000'
check_parse '2008-02-14 20:30:45 -0500' '2008-02-14 20:30:45 -0500'
check_approxidate() {
echo "$1 -> $2 +0000" >expect
......
......@@ -21,12 +21,15 @@ static void parse_dates(char **argv, struct timeval *now)
for (; *argv; argv++) {
char result[100];
time_t t;
int tz;
result[0] = 0;
parse_date(*argv, result, sizeof(result));
t = strtoul(result, NULL, 0);
printf("%s -> %s\n", *argv,
t ? show_date(t, 0, DATE_ISO8601) : "bad");
if (sscanf(result, "%ld %d", &t, &tz) == 2)
printf("%s -> %s\n",
*argv, show_date(t, tz, DATE_ISO8601));
else
printf("%s -> bad\n", *argv);
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册