vmtest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java
changeset 392 44a5802816be
parent 355 eea0065bcc1a
child 394 31ca8ea998a9
     1.1 --- a/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java	Thu Dec 20 08:59:47 2012 +0100
     1.2 +++ b/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java	Fri Dec 28 12:35:32 2012 +0100
     1.3 @@ -17,6 +17,11 @@
     1.4   */
     1.5  package org.apidesign.bck2brwsr.tck;
     1.6  
     1.7 +import java.lang.reflect.Method;
     1.8 +import java.util.Arrays;
     1.9 +import java.util.Collections;
    1.10 +import java.util.List;
    1.11 +import org.apidesign.bck2brwsr.core.JavaScriptBody;
    1.12  import org.apidesign.bck2brwsr.vmtest.Compare;
    1.13  import org.apidesign.bck2brwsr.vmtest.VMTest;
    1.14  import org.testng.annotations.Factory;
    1.15 @@ -34,6 +39,25 @@
    1.16          return long.class.toString();
    1.17      }
    1.18      
    1.19 +    @Compare public String namesOfMethods() {
    1.20 +        StringBuilder sb = new StringBuilder();
    1.21 +        String[] arr = new String[20];
    1.22 +        int i = 0;
    1.23 +        for (Method m : StaticUse.class.getMethods()) {
    1.24 +            arr[i++] = m.getName();
    1.25 +        }
    1.26 +        for (String s : sort(arr, i)) {
    1.27 +            sb.append(s).append("\n");
    1.28 +        }
    1.29 +        return sb.toString();
    1.30 +    }
    1.31 +    
    1.32 +    @JavaScriptBody(args = { "arr", "len" }, body="var a = arr.slice(0, len); a.sort(); return a;")
    1.33 +    private static String[] sort(String[] arr, int len) {
    1.34 +        List<String> list = Arrays.asList(arr).subList(0, len);
    1.35 +        Collections.sort(list);
    1.36 +        return list.toArray(new String[0]);
    1.37 +    }
    1.38      
    1.39      @Factory
    1.40      public static Object[] create() {