postgresql-jdbc.git / summary / log / commit / refs
commit d4b3242102f0dced89a346d42c1290225db7253e
Author: Kris Jurka <books@ejurka.com>
Date: Wed Apr 14 06:03:50 2004 +0000
Fix failures in TimeTest for timezones ahead of GMT. This produces a
Time value before the epoch which came up with negative values.
Oliver Jowett
org/postgresql/test/jdbc2/TimeTest.java | 36 ++++++++++++++++++---------------
1 file changed, 20 insertions(+), 16 deletions(-)
diff --git a/org/postgresql/test/jdbc2/TimeTest.java b/org/postgresql/test/jdbc2/TimeTest.java
index 792af925..5e4f3d20 100644
--- a/org/postgresql/test/jdbc2/TimeTest.java
+++ b/org/postgresql/test/jdbc2/TimeTest.java
@@ -36,6 +36,10 @@ public class TimeTest extends TestCase
TestUtil.closeDB(con);
}
+ private long extractMillis(long time) {
+ return (time >= 0) ? (time % 1000) : (time % 1000 + 1000);
+ }
+
/*
*
* Test use of calendar
@@ -78,32 +82,32 @@ public class TimeTest extends TestCase
time = rs.getTime(1);
assertNotNull(time);
- assertEquals(100, time.getTime() % 1000);
+ assertEquals(100, extractMillis(time.getTime()));
timestamp = rs.getTimestamp(1);
assertNotNull(timestamp);
- // Pre 1.4 JVM's considered the nanos field completely separate
- // and wouldn't return it in getTime()
- if (TestUtil.haveMinimumJVMVersion("1.4")) {
- assertEquals(100, timestamp.getTime() % 1000);
- } else {
- assertEquals(100, (timestamp.getTime() + timestamp.getNanos() / 1000000) % 1000);
- }
+ // Pre 1.4 JVM's considered the nanos field completely separate
+ // and wouldn't return it in getTime()
+ if (TestUtil.haveMinimumJVMVersion("1.4")) {
+ assertEquals(100, extractMillis(timestamp.getTime()));
+ } else {
+ assertEquals(100, extractMillis(timestamp.getTime() + timestamp.getNanos() / 1000000));
+ }
assertEquals(100000000, timestamp.getNanos());
timetz = rs.getTime(2);
assertNotNull(timetz);
- assertEquals(10, timetz.getTime() % 1000);
+ assertEquals(10, extractMillis(timetz.getTime()));
timestamptz = rs.getTimestamp(2);
assertNotNull(timestamptz);
- // Pre 1.4 JVM's considered the nanos field completely separate
- // and wouldn't return it in getTime()
- if (TestUtil.haveMinimumJVMVersion("1.4")) {
- assertEquals(10, timestamptz.getTime() % 1000);
- } else {
- assertEquals(10, (timestamptz.getTime() + timestamptz.getNanos() / 1000000) % 1000);
- }
+ // Pre 1.4 JVM's considered the nanos field completely separate
+ // and wouldn't return it in getTime()
+ if (TestUtil.haveMinimumJVMVersion("1.4")) {
+ assertEquals(10, extractMillis(timestamptz.getTime()));
+ } else {
+ assertEquals(10, extractMillis(timestamptz.getTime() + timestamptz.getNanos() / 1000000));
+ }
assertEquals(10000000, timestamptz.getNanos());
assertTrue(rs.next());
[parent: ce7d9d7a5a0e]