# HG changeset patch # User Jaroslav Tulach # Date 1358236843 -3600 # Node ID c370708a2d1724d08c95e670f9e97c6399f76795 # Parent ac05de5a87866f8067bebd28a38fef76815820c2 More test on array reflection diff -r ac05de5a8786 -r c370708a2d17 vmtest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java --- a/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java Mon Jan 14 18:21:48 2013 +0100 +++ b/vmtest/src/test/java/org/apidesign/bck2brwsr/tck/ReflectionTest.java Tue Jan 15 09:00:43 2013 +0100 @@ -115,6 +115,35 @@ return (new String[3][4][5][6][7][8][9]).getClass().getName(); } + @Compare public String classForByte() throws Exception { + return Class.forName("[Z").getName(); + } + + @Compare public String componentGetNameForObjectArray() { + return (new Object[3]).getClass().getComponentType().getName(); + } + @Compare public boolean sameComponentGetNameForObjectArray() { + return (new Object[3]).getClass().getComponentType() == Object.class; + } + @Compare public String componentGetNameForSimpleIntArray() { + return (new int[3]).getClass().getComponentType().getName(); + } + @Compare public String componentGetNameForMultiIntArray() { + return (new int[3][4][5][6][7][8][9]).getClass().getComponentType().getName(); + } + @Compare public String componentGetNameForMultiStringArray() { + Class c = (new String[3][4][5][6][7][8][9]).getClass(); + StringBuilder sb = new StringBuilder(); + for (;;) { + sb.append(c.getName()).append("\n"); + c = c.getComponentType(); + if (c == null) { + break; + } + } + return sb.toString(); + } + @Compare public boolean isArray() { return new Object[0].getClass().isArray(); }