You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by eb...@apache.org on 2007/04/19 01:46:35 UTC

svn commit: r530205 - /jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestDataConfiguration.java

Author: ebourg
Date: Wed Apr 18 16:46:34 2007
New Revision: 530205

URL: http://svn.apache.org/viewvc?view=rev&rev=530205
Log:
Changed TestDataConfiguration to make it compile and run on Java 1.3
Conversion to InternetAddress is no longer tested on Java 1.3

Modified:
    jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestDataConfiguration.java

Modified: jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestDataConfiguration.java
URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestDataConfiguration.java?view=diff&rev=530205&r1=530204&r2=530205
==============================================================================
--- jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestDataConfiguration.java (original)
+++ jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestDataConfiguration.java Wed Apr 18 16:46:34 2007
@@ -31,7 +31,8 @@
 import java.util.List;
 import java.util.Locale;
 import java.util.NoSuchElementException;
-import javax.mail.internet.InternetAddress;
+
+import org.apache.commons.lang.SystemUtils;
 
 import junit.framework.TestCase;
 import junitx.framework.ArrayAssert;
@@ -297,10 +298,10 @@
         conf.addProperty("ip.string.interpolated", "${ip.string}");
         conf.addProperty("ip.object", InetAddress.getByName("127.0.0.1"));
 
-        // email address
+        // email address (tested on Java 1.4+)
         conf.addProperty("email.string", "ebourg@apache.org");
         conf.addProperty("email.string.interpolated", "${email.string}");
-        conf.addProperty("email.object", new InternetAddress("ebourg@apache.org"));
+        conf.addProperty("email.object", "ebourg@apache.org");
     }
 
     public void testGetConfiguration()
@@ -1692,21 +1693,27 @@
 
     public void testGetInternetAddress() throws Exception
     {
-        InternetAddress expected = new InternetAddress("ebourg@apache.org");
+        if (!SystemUtils.isJavaVersionAtLeast(1.4f))
+        {
+            // skip the test on Java 1.3
+            return;
+        }
+
+        Object expected = createInternetAddress("ebourg@apache.org");
 
         // address as string
-        assertEquals(expected, conf.get(InternetAddress.class, "email.string"));
+        assertEquals(expected, conf.get(expected.getClass(), "email.string"));
 
         // address object
-        assertEquals(expected, conf.get(InternetAddress.class, "email.object"));
+        assertEquals(expected, conf.get(expected.getClass(), "email.object"));
 
         // interpolated value
-        assertEquals(expected, conf.get(InternetAddress.class, "email.string.interpolated"));
+        assertEquals(expected, conf.get(expected.getClass(), "email.string.interpolated"));
 
         conf.setProperty("email.invalid", "ebourg@apache@org");
         try
         {
-            conf.get(InternetAddress.class, "email.invalid");
+            conf.get(expected.getClass(), "email.invalid");
             fail("ConversionException should be thrown for invalid emails");
         }
         catch (ConversionException e)
@@ -1715,7 +1722,18 @@
         }
     }
 
-    public void testConversionException()
+    /**
+     * Create an instance of InternetAddress. This trick is necessary to
+     * compile and run the test with Java 1.3 and the javamail-1.4 which
+     * is not compatible with Java 1.3
+     */
+    private Object createInternetAddress(String email) throws Exception
+    {
+        Class cls = Class.forName("javax.mail.internet.InternetAddress");
+        return cls.getConstructor(new Class[]{String.class}).newInstance(new Object[]{email});
+    }
+
+    public void testConversionException() throws Exception
     {
         conf.addProperty("key1", new Object());
         conf.addProperty("key2", "xxxxxx");
@@ -2330,14 +2348,18 @@
             // expected
         }
 
-        try
-        {
-            conf.get(InternetAddress.class, "key1");
-            fail("getInternetAddress didn't throw a ConversionException");
-        }
-        catch (ConversionException e)
+        if (SystemUtils.isJavaVersionAtLeast(1.4f))
         {
-            // expected
+            // skip the test on Java 1.3
+            try
+            {
+                conf.get(Class.forName("javax.mail.internet.InternetAddress"), "key1");
+                fail("getInternetAddress didn't throw a ConversionException");
+            }
+            catch (ConversionException e)
+            {
+                // expected
+            }
         }
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org