harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ilya Okomin (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-1082) [classlib][io]compatibility:java.io.BufferedOutputStream.write(byte[], int, int) throws ArrayIndexOutOfBoundsException while RI throws NullPointerException
Date Mon, 07 Aug 2006 14:16:14 GMT
[classlib][io]compatibility:java.io.BufferedOutputStream.write(byte[], int, int) throws ArrayIndexOutOfBoundsException
while RI throws NullPointerException
-----------------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: HARMONY-1082
                 URL: http://issues.apache.org/jira/browse/HARMONY-1082
             Project: Harmony
          Issue Type: Bug
          Components: Non-bug differences from RI
            Reporter: Ilya Okomin
            Priority: Trivial


J2SE API specifications for java.io.BufferedOutputStream.write(byte[], int, int) method says
"Throws IOException - if an I/O error occurs."
Spec for the superclass java.io.OutputStream says that "If off is negative, or len is negative,
or off+len is greater than the length of the array b, then an IndexOutOfBoundsException is
thrown." 

Harmony throws ArrayIndexOutOfBoundsException while RI throws NullPointerException.

============== Test9422 .java ===================== 
import java.io.BufferedOutputStream;

public class Test9422 {

    public static void main(String[] argv) {
        BufferedOutputStream localBufferedOutputStream = new BufferedOutputStream(
                null, 1);
        byte[] array0 = new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2 };

        try {
            localBufferedOutputStream.write(array0, 127, 1);
            System.out.println("Test filed!"); 
        } catch (IndexOutOfBoundsException e) { 
            System.out.println("Test passed: expected " + e); 
        } catch (Exception e) {
            System.out.println("Test filed: " + e); 
        }
        
        try {
            localBufferedOutputStream.write(array0, 5, 17);
            System.out.println("Test filed!"); 
        } catch (IndexOutOfBoundsException e) { 
            System.out.println("Test passed: expected " + e); 
        } catch (Exception e) {
            System.out.println("Test filed: " + e); 
        }

        try {
            localBufferedOutputStream.write(array0, -1, 5);
            System.out.println("Test filed!"); 
        } catch (IndexOutOfBoundsException e) { 
            System.out.println("Test passed: expected " + e); 
        } catch (Exception e) {
            System.out.println("Test filed: " + e); 
        }

        try {
            localBufferedOutputStream.write(array0, 1, -5);
            System.out.println("Test filed!"); 
        } catch (IndexOutOfBoundsException e) { 
            System.out.println("Test passed: expected " + e); 
        } catch (Exception e) {
            System.out.println("Test filed: " + e); 
        }

    }

}

========================================== 

Output:

Harmony: 
java version "1.5.0" 
pre-alpha : not complete or compatible
svn = r424571, (Jul 22 2006), Windows/ia32/msvc 1310, release build
http://incubator.apache.org/harmony

Test passed: expected java.lang.ArrayIndexOutOfBoundsException: Arguments out of bounds
Test passed: expected java.lang.ArrayIndexOutOfBoundsException: Arguments out of bounds
Test passed: expected java.lang.ArrayIndexOutOfBoundsException: Arguments out of bounds
Test passed: expected java.lang.ArrayIndexOutOfBoundsException: Arguments out of bounds

RI:
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 filed: java.lang.NullPointerException
Test filed: java.lang.NullPointerException
Test filed: java.lang.NullPointerException
Test passed: expected java.lang.ArrayIndexOutOfBoundsException

-- 
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

        

Mime
View raw message