152 ClassDesc thisClassDesc = ClassDesc.ofDescriptor("LClassDescTest;");
153 assertEquals(thisClassDesc, ClassDesc.of("", "ClassDescTest"));
154 assertEquals(thisClassDesc, ClassDesc.of("ClassDescTest"));
155 assertEquals(thisClassDesc.displayName(), "ClassDescTest");
156 testClassDesc(thisClassDesc, ClassDescTest.class);
157 }
158
159 public void testPackageName() {
160 assertEquals("com.foo", ClassDesc.of("com.foo.Bar").packageName());
161 assertEquals("com.foo", ClassDesc.of("com.foo.Bar").nested("Baz").packageName());
162 assertEquals("", ClassDesc.of("Bar").packageName());
163 assertEquals("", ClassDesc.of("Bar").nested("Baz").packageName());
164 assertEquals("", ClassDesc.of("Bar").nested("Baz", "Foo").packageName());
165
166 assertEquals("", ConstantDescs.CD_int.packageName());
167 assertEquals("", ConstantDescs.CD_int.arrayType().packageName());
168 assertEquals("", ConstantDescs.CD_String.arrayType().packageName());
169 assertEquals("", ClassDesc.of("Bar").arrayType().packageName());
170 }
171
172 private void testBadArrayRank(ClassDesc cr) {
173 try {
174 cr.arrayType(-1);
175 fail("");
176 } catch (IllegalArgumentException e) {
177 // good
178 }
179 try {
180 cr.arrayType(0);
181 fail("");
182 } catch (IllegalArgumentException e) {
183 // good
184 }
185 }
186
187 public void testArrayClassDesc() throws ReflectiveOperationException {
188 for (String d : basicDescs) {
189 ClassDesc a0 = ClassDesc.ofDescriptor(d);
190 ClassDesc a1 = a0.arrayType();
191 ClassDesc a2 = a1.arrayType();
|
152 ClassDesc thisClassDesc = ClassDesc.ofDescriptor("LClassDescTest;");
153 assertEquals(thisClassDesc, ClassDesc.of("", "ClassDescTest"));
154 assertEquals(thisClassDesc, ClassDesc.of("ClassDescTest"));
155 assertEquals(thisClassDesc.displayName(), "ClassDescTest");
156 testClassDesc(thisClassDesc, ClassDescTest.class);
157 }
158
159 public void testPackageName() {
160 assertEquals("com.foo", ClassDesc.of("com.foo.Bar").packageName());
161 assertEquals("com.foo", ClassDesc.of("com.foo.Bar").nested("Baz").packageName());
162 assertEquals("", ClassDesc.of("Bar").packageName());
163 assertEquals("", ClassDesc.of("Bar").nested("Baz").packageName());
164 assertEquals("", ClassDesc.of("Bar").nested("Baz", "Foo").packageName());
165
166 assertEquals("", ConstantDescs.CD_int.packageName());
167 assertEquals("", ConstantDescs.CD_int.arrayType().packageName());
168 assertEquals("", ConstantDescs.CD_String.arrayType().packageName());
169 assertEquals("", ClassDesc.of("Bar").arrayType().packageName());
170 }
171
172 public void testFullDisplayName() {
173 assertEquals(ClassDesc.ofDescriptor("Ljava/lang/String;").displayName(true), "java.lang.String");
174 assertEquals(ClassDesc.ofDescriptor("[Ljava/lang/String;").displayName(true), "java.lang.String[]");
175 assertEquals(ClassDesc.ofDescriptor("[[Ljava/lang/String;").displayName(true), "java.lang.String[][]");
176 assertEquals(ClassDesc.ofDescriptor("I").displayName(true), "int");
177 }
178
179 private void testBadArrayRank(ClassDesc cr) {
180 try {
181 cr.arrayType(-1);
182 fail("");
183 } catch (IllegalArgumentException e) {
184 // good
185 }
186 try {
187 cr.arrayType(0);
188 fail("");
189 } catch (IllegalArgumentException e) {
190 // good
191 }
192 }
193
194 public void testArrayClassDesc() throws ReflectiveOperationException {
195 for (String d : basicDescs) {
196 ClassDesc a0 = ClassDesc.ofDescriptor(d);
197 ClassDesc a1 = a0.arrayType();
198 ClassDesc a2 = a1.arrayType();
|