]> source.dussan.org Git - aspectj.git/commitdiff
Declare annotation: tests changed due to constant pool copying change for annotation...
authoraclement <aclement>
Thu, 10 Mar 2005 12:15:38 +0000 (12:15 +0000)
committeraclement <aclement>
Thu, 10 Mar 2005 12:15:38 +0000 (12:15 +0000)
bcel-builder/testsrc/org/aspectj/apache/bcel/classfile/tests/AllTests.java
bcel-builder/testsrc/org/aspectj/apache/bcel/classfile/tests/ElementValueGenTest.java
bcel-builder/testsrc/org/aspectj/apache/bcel/classfile/tests/RuntimeVisibleAnnotationAttributeTest.java
bcel-builder/testsrc/org/aspectj/apache/bcel/classfile/tests/UtilTests.java [new file with mode: 0644]

index c2a087166151a3c8ecb0dd3f1e927294c2ed8f95..cba6096cf7ccb334ac4768e6facb9487a3ef9a9f 100644 (file)
@@ -49,6 +49,7 @@ public class AllTests {
                suite.addTestSuite(ParameterAnnotationsTest.class);
                suite.addTestSuite(GeneratingAnnotatedClassesTest.class);
                suite.addTestSuite(TypeAnnotationsTest.class);
+               suite.addTestSuite(UtilTests.class);
                //$JUnit-END$
                return suite;
        }
index 884270c9fefe4625fe3306661a828974e9791252..e1c9f382cfd302192e23b63df180aa06478e7140 100644 (file)
@@ -161,8 +161,8 @@ public class ElementValueGenTest extends BcelTestCase {
                EnumElementValueGen evg = new EnumElementValueGen(enumType,"Red",cp);
                // Creation of an element like that should leave a new entry in the cpool
                assertTrue("The new ElementValue value index should match the contents of the constantpool but "+
-                               evg.getValueIndex()+"!="+cp.lookupString("Red"),
-                               evg.getValueIndex()==cp.lookupString("Red"));
+                               evg.getValueIndex()+"!="+cp.lookupUtf8("Red"),
+                               evg.getValueIndex()==cp.lookupUtf8("Red"));
                //BCELBUG: Should the class signature or class name be in the constant pool? (see note in ConstantPool)
 //             assertTrue("The new ElementValue type index should match the contents of the constantpool but "+
 //                             evg.getTypeIndex()+"!="+cp.lookupClass(enumType.getSignature()),
index 494bc1239be4a4c43d6e58055062a2dcbbc880da..d87dc22cd4ca0a8758c3d2ac2545bae06698dff7 100644 (file)
@@ -235,7 +235,8 @@ public class RuntimeVisibleAnnotationAttributeTest extends BcelTestCase {
                Annotation[] anns = clazz.getAnnotations();
                ClassGen cg = new ClassGen(clazz);
                // Checks we can copy class values in an annotation
-               new AnnotationGen(anns[0],cg.getConstantPool());
+               new AnnotationGen(anns[0],cg.getConstantPool(),true);
+               new AnnotationGen(anns[0],cg.getConstantPool(),false);
        }
        
        public void testAnnotationClassElementReadWrite() throws ClassNotFoundException,IOException {
diff --git a/bcel-builder/testsrc/org/aspectj/apache/bcel/classfile/tests/UtilTests.java b/bcel-builder/testsrc/org/aspectj/apache/bcel/classfile/tests/UtilTests.java
new file mode 100644 (file)
index 0000000..fd4e75e
--- /dev/null
@@ -0,0 +1,58 @@
+/* *******************************************************************
+ * Copyright (c) 2004 IBM
+ * All rights reserved. 
+ * This program and the accompanying materials are made available 
+ * under the terms of the Common Public License v1.0 
+ * which accompanies this distribution and is available at 
+ * http://www.eclipse.org/legal/cpl-v10.html 
+ *  
+ * Contributors: 
+ *     Andy Clement -     initial implementation 
+ * ******************************************************************/
+
+package org.aspectj.apache.bcel.classfile.tests;
+
+import org.aspectj.apache.bcel.classfile.Utility;
+import org.aspectj.apache.bcel.generic.Type;
+
+import junit.framework.TestCase;
+
+public class UtilTests extends TestCase {
+       
+       protected void setUp() throws Exception {
+               super.setUp();
+       }
+       
+       public void testUtilityClassSignatureManipulation1() {
+         String[] ss = Utility.methodSignatureArgumentTypes("(Ljava/lang/String;I[Ljava/lang/Integer;)");
+         assertTrue("should be 3 not "+ss.length,ss.length==3);
+         
+      assertTrue("first should be 'String', not "+ss[0],ss[0].equals("String"));
+      assertTrue("second should be 'int', not "+ss[1],ss[1].equals("int"));
+      assertTrue("third should be 'Integer[]', not "+ss[2],ss[2].equals("Integer[]"));
+       }
+       
+       public void testUtilityClassSignatureManipulation2() {
+         String s = Utility.methodSignatureToString("(Ljava/lang/String;[Z[[Ljava/lang/Integer;II)Z","hello","public");
+         String expected = "public boolean hello(String arg1, boolean[] arg2, Integer[][] arg3, int arg4, int arg5)";
+         assertTrue("Expected '"+expected+"' but got "+s,s.equals(expected));
+       }
+       
+       public void testTypeUtilMethods1() {
+       String s = Type.getMethodSignature(Type.DOUBLE,new Type[]{Type.INT,Type.STRING,Type.SHORT});
+       System.err.println(s);
+       }
+       
+       public void testTypeUtilMethods2() {
+       Type s = Type.getType("Ljava/lang/String;");
+       System.err.println(s);
+       s = Type.getType("Z");
+       System.err.println(s);
+       }
+
+       protected void tearDown() throws Exception {
+               super.tearDown();
+       }
+       
+
+}