public inbox for mauve-discuss@sourceware.org
 help / color / mirror / Atom feed
* Fix for test gnu/testlet/java/lang/Integer/parseInt.java
@ 2011-08-17 16:19 Pavel Tisnovsky
  2011-08-17 16:27 ` Dr Andrew John Hughes
  0 siblings, 1 reply; 6+ messages in thread
From: Pavel Tisnovsky @ 2011-08-17 16:19 UTC (permalink / raw)
  To: mauve-discuss

[-- Attachment #1: Type: text/plain, Size: 764 bytes --]

Greetings,

I think that the regression test "gnu/testlet/java/lang/Integer/parseInt.java"
should be fixed to work correctly for pre JDK1.7 case (JDK1.0 .. JDK1.6) and
also for JDK1.7 case. The difference between JDK1.6 and JDK1.7 is in the
behaviour of method Integer.parseInt() when string beginning with '+' sign is
parsed:

Integer.parseInt("+42")

JDK1.6 throws exception in this case, but parsing the same string is perfectly
valid in JDK1.7. So I added the condition to the test which checks what JDK is
being tested (I can't figure out how Mauve harness checks the "Tags: JDKxx"
tag). I also changed the message printed in case JDK1.7 does not work correctly.

Is it possible to push the fixed test to Mauve repository please?

Thank you in advance,
Pavel

[-- Attachment #2: parseInt.patch --]
[-- Type: text/x-patch, Size: 1309 bytes --]

--- gnu/testlet/java/lang/Integer/parseInt.java	2008-05-12 23:35:49.000000000 +0200
+++ gnu/testlet/java/lang/Integer/parseInt.java	2011-08-17 17:17:16.000000000 +0200
@@ -106,15 +106,31 @@
     }
   
     // In JDK1.7, '+' is considered a valid character.
-    try
-      {
-        i = Integer.parseInt("+10");
-        harness.check(true);
-	harness.check(i, 10);
-      }
-    catch (NumberFormatException nfe)
-      {
-    	harness.fail("Leading '+' does not throw NumberFormatException");
+    // it means that the following step should be divided
+    // for pre JDK1.7 case and >= JDK1.7
+    String[] javaVersion = System.getProperty("java.version").split("\\.");
+    if (Integer.parseInt(javaVersion[1]) >= 7) {
+      try
+        {
+          i = Integer.parseInt("+10");
+          harness.check(true);
+          harness.check(i, 10);
+        }
+      catch (NumberFormatException nfe)
+        {
+          harness.fail("'+10' string is not parsed correctly as expected in JDK1.7");
+        }
+      }
+    else { // pre JDK1.7 branch
+      try
+        {
+          i = Integer.parseInt("+10");
+          harness.fail("'+10' must throw NumberFormatException");
+        }
+      catch (NumberFormatException nfe)
+        {
+          harness.check(true);
+        }
       }
 
     try

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-08-18 15:50 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-17 16:19 Fix for test gnu/testlet/java/lang/Integer/parseInt.java Pavel Tisnovsky
2011-08-17 16:27 ` Dr Andrew John Hughes
2011-08-18  8:12   ` Pavel Tisnovsky
2011-08-18 15:50     ` Dr Andrew John Hughes
2011-08-18 12:41   ` Pavel Tisnovsky
2011-08-18 15:46     ` Dr Andrew John Hughes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).