# HG changeset patch # User Jaroslav Tulach # Date 1380803709 -7200 # Node ID 740712318ab3f84497b5f1ad88efff7f44d6cf82 # Parent 8ae6a6c42b5f2b0bf73d932f1101dd033505a412 Throw index out of bounds exception diff -r 8ae6a6c42b5f -r 740712318ab3 rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionArrayTest.java --- a/rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionArrayTest.java Thu Oct 03 10:02:13 2013 +0200 +++ b/rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionArrayTest.java Thu Oct 03 14:35:09 2013 +0200 @@ -34,6 +34,11 @@ return arr.length; } + @Compare public String indexOutOfBounds() { + String[] arr = { null, null }; + return arr[2]; + } + @Compare public int reflectiveLengthOfStringArray() { Object arr = Array.newInstance(String.class, 10); return Array.getLength(arr); diff -r 8ae6a6c42b5f -r 740712318ab3 rt/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_String.js --- a/rt/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_String.js Thu Oct 03 10:02:13 2013 +0200 +++ b/rt/emul/mini/src/main/resources/org/apidesign/vm4brwsr/emul/lang/java_lang_String.js Thu Oct 03 14:35:09 2013 +0200 @@ -3,7 +3,7 @@ vm.java_lang_String(false); Array.prototype.at = function(indx, value) { - if (indx < 0 || indx > this.length) { + if (indx < 0 || indx >= this.length) { var e = vm.java_lang_ArrayIndexOutOfBoundsException(true); e.constructor.cons__VLjava_lang_String_2.call(e, indx.toString()); throw e;