rt/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionArrayTest.java
branchmodel
changeset 933 0cb657a2b888
parent 772 d382dacfd73f
     1.1 --- a/rt/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionArrayTest.java	Tue Feb 26 16:54:16 2013 +0100
     1.2 +++ b/rt/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionArrayTest.java	Fri Apr 05 10:41:07 2013 +0200
     1.3 @@ -18,6 +18,8 @@
     1.4  package org.apidesign.bck2brwsr.tck;
     1.5  
     1.6  import java.lang.reflect.Array;
     1.7 +import org.apidesign.bck2brwsr.core.JavaScriptBody;
     1.8 +import org.apidesign.bck2brwsr.vmtest.BrwsrTest;
     1.9  import org.apidesign.bck2brwsr.vmtest.Compare;
    1.10  import org.apidesign.bck2brwsr.vmtest.VMTest;
    1.11  import org.testng.annotations.Factory;
    1.12 @@ -127,6 +129,30 @@
    1.13          return Array.newInstance(int.class, 3, 3, 3).getClass().getName();
    1.14      }
    1.15      
    1.16 +    @JavaScriptBody(args = {}, body = "return [1, 2];")
    1.17 +    private static native Object crtarr();
    1.18 +
    1.19 +    @JavaScriptBody(args = {}, body = "return new Object();")
    1.20 +    private static native Object newobj();
    1.21 +
    1.22 +    @BrwsrTest
    1.23 +    public static void toStringArray() {
    1.24 +        final Object arr = crtarr();
    1.25 +        final Object real = new Object[2];
    1.26 +        assert arr instanceof Object[] : "Any array is Java array: " + arr;
    1.27 +        assert arr.getClass() == real.getClass() : "Same classes " + arr + " and " + real.getClass();
    1.28 +        final String str = arr.toString();
    1.29 +        assert str != null;
    1.30 +        assert str.startsWith("[Ljava.lang.Object;@") : str;
    1.31 +    }
    1.32 +    
    1.33 +    @BrwsrTest
    1.34 +    public static void objectToString() {
    1.35 +        String s = newobj().toString();
    1.36 +        assert s != null : "Some string computed";
    1.37 +        assert s.startsWith("java.lang.Object@") : "Regular object toString(): " + s;
    1.38 +    }
    1.39 +
    1.40      
    1.41      @Factory
    1.42      public static Object[] create() {