Throw index out of bounds exception
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Thu, 03 Oct 2013 14:35:09 +0200
changeset 1330740712318ab3
parent 1326 8ae6a6c42b5f
child 1331 8d9d63f414b5
Throw index out of bounds exception
rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionArrayTest.java
rt/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_String.js
     1.1 --- a/rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionArrayTest.java	Thu Oct 03 10:02:13 2013 +0200
     1.2 +++ b/rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionArrayTest.java	Thu Oct 03 14:35:09 2013 +0200
     1.3 @@ -34,6 +34,11 @@
     1.4          return arr.length;
     1.5      }
     1.6      
     1.7 +    @Compare public String indexOutOfBounds() {
     1.8 +        String[] arr = { null, null };
     1.9 +        return arr[2];
    1.10 +    }
    1.11 +    
    1.12      @Compare public int reflectiveLengthOfStringArray() {
    1.13          Object arr = Array.newInstance(String.class, 10);
    1.14          return Array.getLength(arr);
     2.1 --- a/rt/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_String.js	Thu Oct 03 10:02:13 2013 +0200
     2.2 +++ b/rt/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_String.js	Thu Oct 03 14:35:09 2013 +0200
     2.3 @@ -3,7 +3,7 @@
     2.4  vm.java_lang_String(false);
     2.5  
     2.6  Array.prototype.at = function(indx, value) {
     2.7 -  if (indx < 0 || indx > this.length) {
     2.8 +  if (indx < 0 || indx >= this.length) {
     2.9        var e = vm.java_lang_ArrayIndexOutOfBoundsException(true);
    2.10        e.constructor.cons__VLjava_lang_String_2.call(e, indx.toString());
    2.11        throw e;