FYI: Add tests for PR classpath/22851

View: New views
1 Messages — Rating Filter:   Alert me  

FYI: Add tests for PR classpath/22851

by gnu_andrew :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

This adds tests to ensure that the zone strings
are returned correctly and in the right slots
(in the case of java.text.DateFormatSymbols).

ChangeLog:

2008-07-06  Andrew John Hughes  <gnu_andrew@...>

        * gnu/testlet/java/text/DateFormatSymbols/PR22851.java,
        * gnu/testlet/java/util/TimeZone/GetDisplayName.java:
        Add tests raised by issues in PR22851.

--
Andrew :)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8

Index: gnu/testlet/java/text/DateFormatSymbols/PR22851.java
===================================================================
RCS file: gnu/testlet/java/text/DateFormatSymbols/PR22851.java
diff -N gnu/testlet/java/text/DateFormatSymbols/PR22851.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/java/text/DateFormatSymbols/PR22851.java 6 Jul 2008 23:20:04 -0000
@@ -0,0 +1,74 @@
+// Tags: JDK1.2
+
+// Copyright (C) 2008 Andrew John Hughes (gnu_andrew@...)
+
+// This file is part of Mauve.
+
+// Mauve is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// Mauve is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Mauve; see the file COPYING.  If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.  */
+
+package gnu.testlet.java.text.DateFormatSymbols;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import java.text.DateFormatSymbols;
+import java.util.Locale;
+
+/**
+ * A check for PR22851.  This checks that the zone
+ * strings are allocated to the correct elements in the
+ * array.  The Javadoc for Java 1.6 now specifies this as:
+ * </p>
+ * <table>
+ * <tr><td>zoneStrings[i][0]</td><td>time zone ID</td></tr>
+ * <tr><td>zoneStrings[i][1]</td><td>long name of zone in standard time</td></tr>
+ * <tr><td>zoneStrings[i][2]</td><td>short name of zone in standard time</td></tr>
+ * <tr><td>zoneStrings[i][3]</td><td>long name of zone in daylight saving time</td></tr>
+ * <tr><td>zoneStrings[i][4]</td><td>short name of zone in daylight saving time</td></tr>
+ * </table>
+ */
+public class PR22851
+  implements Testlet
+{
+
+  /**
+   * Runs the test using the specified harness.
+   *
+   * @param harness the test harness.
+   */
+  public void test(TestHarness harness)
+  {
+    String[][] zstrings = DateFormatSymbols.getInstance(Locale.UK).getZoneStrings();
+    boolean checked = false;
+    for (int a = 0; a < zstrings.length; ++a)
+      {
+ harness.check(zstrings[a].length >= 5, zstrings[a][0] + " has less than 5 strings.");
+ if (zstrings[a][0].equals("Europe/London"))
+  {
+    if (checked)
+      harness.fail("Europe/London appears twice.");
+    harness.check(zstrings[a][1], "Greenwich Mean Time");
+    harness.check(zstrings[a][2], "GMT");
+    harness.check(zstrings[a][3], "British Summer Time");
+    harness.check(zstrings[a][4], "BST");
+    checked = true;
+  }
+      }
+    if (!checked)
+      harness.fail("Europe/London doesn't appear");
+  }
+
+}
Index: gnu/testlet/java/util/TimeZone/GetDisplayName.java
===================================================================
RCS file: gnu/testlet/java/util/TimeZone/GetDisplayName.java
diff -N gnu/testlet/java/util/TimeZone/GetDisplayName.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/java/util/TimeZone/GetDisplayName.java 6 Jul 2008 23:20:05 -0000
@@ -0,0 +1,53 @@
+// Tags: JDK1.2
+
+// Copyright (C) 2008 Andrew John Hughes (gnu_andrew@...)
+
+// This file is part of Mauve.
+
+// Mauve is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// Mauve is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Mauve; see the file COPYING.  If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.  */
+
+package gnu.testlet.java.util.TimeZone;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import java.util.Locale;
+import java.util.TimeZone;
+
+/**
+ * Checks that the correct strings are returned in the appropriate
+ * slots for TimeZone.getDisplayName.  We use Europe/London for these
+ * tests.
+ */
+public class GetDisplayName
+  implements Testlet
+{
+
+  /**
+   * Runs the test using the specified harness.
+   *
+   * @param harness the test harness.
+   */
+  public void test(TestHarness harness)
+  {
+    TimeZone zone = TimeZone.getTimeZone("Europe/London");
+    harness.check(zone.getDisplayName(false, TimeZone.LONG, Locale.UK), "Greenwich Mean Time");
+    harness.check(zone.getDisplayName(false, TimeZone.SHORT, Locale.UK), "GMT");
+    harness.check(zone.getDisplayName(true, TimeZone.LONG, Locale.UK), "British Summer Time");
+    harness.check(zone.getDisplayName(true, TimeZone.SHORT, Locale.UK), "BST");
+  }
+
+}