diff options
-rw-r--r-- | libexslt/date.c | 2 | ||||
-rw-r--r-- | tests/exslt/date/seconds.1.out | 16 | ||||
-rw-r--r-- | tests/exslt/date/seconds.1.xml | 9 |
3 files changed, 26 insertions, 1 deletions
diff --git a/libexslt/date.c b/libexslt/date.c index b692bb42..18523d02 100644 --- a/libexslt/date.c +++ b/libexslt/date.c @@ -1602,7 +1602,7 @@ exsltDateNormalize (exsltDateValPtr dt) if (dt == NULL) return; - if (((dt->type & XS_TIME) != XS_TIME) || (dt->value.date.tzo == 0)) + if (((dt->type & XS_TIME) != XS_TIME) && (dt->value.date.tzo == 0)) return; dur = exsltDateCreateDate(XS_DURATION); diff --git a/tests/exslt/date/seconds.1.out b/tests/exslt/date/seconds.1.out index 3447bf87..c0eb72c0 100644 --- a/tests/exslt/date/seconds.1.out +++ b/tests/exslt/date/seconds.1.out @@ -35,3 +35,19 @@ seconds : 0001-01-01T00:00:00 result : -6.21355968e+10 seconds : -0001-01-01T00:00:00 result : -6.21671328e+10 +seconds : 1970-01-01 +result : 0 +seconds : 1970-01-01Z +result : 0 +seconds : 1970-01-01-11:00 +result : 39600 +seconds : 1970-01-01+11:00 +result : -39600 +seconds : 1970-01-01-12:00 +result : 43200 +seconds : 1970-01-01+12:00 +result : -43200 +seconds : 1970-01-01-13:00 +result : 46800 +seconds : 1970-01-01+13:00 +result : -46800 diff --git a/tests/exslt/date/seconds.1.xml b/tests/exslt/date/seconds.1.xml index 5e0a664f..24d58fb2 100644 --- a/tests/exslt/date/seconds.1.xml +++ b/tests/exslt/date/seconds.1.xml @@ -20,5 +20,14 @@ <date duration="1971-01-01T00:00:00"/> <date duration="0001-01-01T00:00:00"/> <date duration="-0001-01-01T00:00:00"/> + <!-- timezones --> + <date duration="1970-01-01" /> + <date duration="1970-01-01Z" /> + <date duration="1970-01-01-11:00" /> + <date duration="1970-01-01+11:00" /> + <date duration="1970-01-01-12:00" /> + <date duration="1970-01-01+12:00" /> + <date duration="1970-01-01-13:00" /> + <date duration="1970-01-01+13:00" /> </page> |