Verify the reflection works on interfaces reflection
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Sun, 03 Feb 2013 08:01:48 +0100
branchreflection
changeset 6494b16b7e23cab
parent 648 77735e75d6dc
child 650 2569d9dd4b28
Verify the reflection works on interfaces
vm/src/test/java/org/apidesign/vm4brwsr/ClassTest.java
vm/src/test/java/org/apidesign/vm4brwsr/Classes.java
vmtest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java
     1.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/ClassTest.java	Sun Feb 03 07:48:42 2013 +0100
     1.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/ClassTest.java	Sun Feb 03 08:01:48 2013 +0100
     1.3 @@ -149,14 +149,12 @@
     1.4              0.0, "java.lang.String"
     1.5          );
     1.6      }
     1.7 -    /*
     1.8      @Test public void isInterface() throws Exception {
     1.9          assertExec("Calls Class.isInterface", Classes.class, 
    1.10              "isInterface__ZLjava_lang_String_2", 
    1.11              1.0, "java.lang.Runnable"
    1.12          );
    1.13      }
    1.14 -    */
    1.15      @Test public void integerType() throws Exception {
    1.16          assertExec("Computes the type", Classes.class, 
    1.17              "intType__Ljava_lang_String_2", 
     2.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/Classes.java	Sun Feb 03 07:48:42 2013 +0100
     2.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/Classes.java	Sun Feb 03 08:01:48 2013 +0100
     2.3 @@ -38,6 +38,8 @@
     2.4          return c.getName();
     2.5      }
     2.6      
     2.7 +    private static final Class<?> PRELOAD = Runnable.class;
     2.8 +    
     2.9      public static boolean isInterface(String s) throws ClassNotFoundException {
    2.10          return Class.forName(s).isInterface();
    2.11      }
     3.1 --- a/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java	Sun Feb 03 07:48:42 2013 +0100
     3.2 +++ b/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java	Sun Feb 03 08:01:48 2013 +0100
     3.3 @@ -47,6 +47,14 @@
     3.4          return long.class.toString();
     3.5      }
     3.6      
     3.7 +    @Compare public boolean isRunnableInterface() {
     3.8 +        return Runnable.class.isInterface();
     3.9 +    }
    3.10 +
    3.11 +    @Compare public String isRunnableHasRunMethod() throws NoSuchMethodException {
    3.12 +        return Runnable.class.getMethod("run").getName();
    3.13 +    }
    3.14 +    
    3.15      @Compare public String namesOfMethods() {
    3.16          StringBuilder sb = new StringBuilder();
    3.17          String[] arr = new String[20];