You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Vladimir Ivanov (JIRA)" <ji...@apache.org> on 2006/08/01 09:33:16 UTC

[jira] Created: (HARMONY-1024) [classlib][jndi] compatibility: Harmony throws IllegalArgumentException for javax.naming.Binding constructions while RI does not

[classlib][jndi] compatibility: Harmony throws IllegalArgumentException for javax.naming.Binding constructions while RI does not
--------------------------------------------------------------------------------------------------------------------------------

                 Key: HARMONY-1024
                 URL: http://issues.apache.org/jira/browse/HARMONY-1024
             Project: Harmony
          Issue Type: Bug
          Components: Non-bug differences from RI
            Reporter: Vladimir Ivanov
            Priority: Minor


J2SE API specifications says that parameter "name  of  javax.naming.Binding constructors is non-null." but says nothing about exceptions which may be thrown by constructors when parameter "name" is null.
Harmony throws IllegalArgumentException in these cases while RI does not.

============== test.java =====================
import javax.naming.*;

public class test {
    public static void main(String[] argv) {
        try {
            System.out.println("Test passed: " + new Binding((String) null, (Object) null));
        } catch (Throwable e) {
            System.out.println("Test failed: unexpected " + e);
        }

        try {
            System.out.println("Test passed: " + new Binding((String) null, new Object(), true));
        } catch (Throwable e) {
            System.out.println("Test failed: unexpected " + e);
        }

        try {
            System.out.println("Test passed: " + new Binding((String) null, "test", new Object()));
        } catch (Throwable e) {
            System.out.println("Test failed: unexpected " + e);
        }

        try {
            System.out.println("Test passed: " + new Binding((String) null, "test", new Object(), true));
        } catch (Throwable e) {
            System.out.println("Test failed: unexpected " + e);
        }
    }
}
==========================================

Output:
C:\tmp\tmp17>C:\jrockit-jdk1.5.0-windows-ia32\bin\java.exe -cp . -showversion test
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
BEA WebLogic JRockit(R) (build dra-38972-20041208-2001-win-ia32, R25.0.0-75, GC: System optimized over throughput (initial strategy singleparpar))

Test passed: null: null:null
Test passed: null: java.lang.Object:java.lang.Object@1b3586
Test passed: null: test:java.lang.Object@1b365a
Test passed: null: test:java.lang.Object@1b36f0

C:\tmp\tmp17>C:\harmony\trunk_0427\deploy\jdk\jre\bin\java.exe -cp . -showversion test
java version 1.5 (subset)

(c) Copyright 1991, 2006 The Apache Software Foundation or its licensors, as applicable.
Test failed: unexpected java.lang.IllegalArgumentException: name must not be null
Test failed: unexpected java.lang.IllegalArgumentException: name must not be null
Test failed: unexpected java.lang.IllegalArgumentException: name must not be null
Test failed: unexpected java.lang.IllegalArgumentException: name must not be null



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira