123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508 |
- /*******************************************************************************
- * Copyright (c) 2006 IBM
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andy Clement - initial API and implementation
- *******************************************************************************/
- package org.aspectj.systemtest.ajc153;
-
- import java.net.URL;
-
- import org.aspectj.asm.AsmManager;
- import org.aspectj.asm.IHierarchy;
- import org.aspectj.asm.IProgramElement;
- import org.aspectj.testing.XMLBasedAjcTestCase;
- import org.aspectj.weaver.bcel.Utility;
-
- import junit.framework.Test;
-
- public class Ajc153Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
-
- public void testFormalCommentsAreSetForConstructorIPEs_pr164340() {
- runTest("formal comments are set for constructor ipes");
- IHierarchy top = AsmManager.lastActiveStructureModel.getHierarchy();
- IProgramElement ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.CONSTRUCTOR, "C()");
- assertNotNull("expected formal comment to be non null but" + " found that it was null", ipe.getFormalComment());
- }
-
- // public void testGenericsProblem_pr151978() { runTest("generics problem");}
- // public void testArgnamesAndJavac_pr148381() { runTest("argNames and javac");}
- // public void testCFlowXMLAspectLTW_pr149096() { runTest("cflow xml concrete aspect"); }
- // public void testAmbiguousBinding_pr121805() { runTest("ambiguous binding");}
- // public void testNegatedAnnotationMatchingProblem_pr153464() { runTest("negated annotation matching problem");}
- public void testAnnotationStyleBcException_pr162135() {
- runTest("bcexception in annotation style around advice");
- }
-
- public void testAnnotationStyleBcException_pr162135_2() {
- runTest("bcexception in annotation style around advice - 2");
- }
-
- public void testAnnotationStyleBcException_pr162135_3() {
- runTest("bcexception in annotation style around advice - 3");
- }
-
- public void testAnnotationStyleBcException_pr162135_4() {
- runTest("bcexception in annotation style around advice - 4");
- }
-
- public void testAnnotationStyleBcException_pr162135_5() {
- runTest("bcexception in annotation style around advice - 5");
- }
-
- public void testAnnotationStyleBcException_pr162135_6() {
- runTest("bcexception in annotation style around advice - 6");
- }
-
- public void testAnnotationStyleBcException_pr162135_7() {
- runTest("bcexception in annotation style around advice - 7");
- }
-
- public void testIncompatibleClassChangeWithITD_pr164633() {
- runTest("incompatibleclasschange");
- }
-
- public void testComplexPointcut_pr162657() {
- runTest("complex pointcut");
- }
-
- public void testGenericsInPointcuts_pr161502() {
- runTest("generics in pointcuts");
- }
-
- public void testGenericsInPointcuts_pr161502_2() {
- runTest("generics in pointcuts - 2");
- }
-
- public void testNoNPEDueToMissingType_pr149908() {
- runTest("ensure no npe due to missing type");
- }
-
- public void testNoNPEDueToMember_pr149908() {
- runTest("ensure no npe due to missing member");
- }
-
- public void testPTWgetWithinTypeName_pr123423_1() {
- runTest("basic usage of getWithinTypeName");
- }
-
- public void testPTWgetWithinTypeName_pr123423_2() {
- runTest("basic usage of getWithinTypeName - multiple types");
- }
-
- public void testPTWgetWithinTypeName_pr123423_3() {
- runTest("basic usage of getWithinTypeName - non matching types");
- }
-
- public void testPTWgetWithinTypeName_pr123423_4() {
- runTest("basic usage of getWithinTypeName - types in packages");
- }
-
- public void testPTWgetWithinTypeName_pr123423_5() {
- runTest("basic usage of getWithinTypeName - annotation style");
- }
-
- public void testTurningOffBcelCaching_pr160674() {
- runTest("turning off bcel caching");
- }
-
- public void testNoIllegalStateExceptionWithGenericInnerAspect_pr156058() {
- runTest("no IllegalStateException with generic inner aspect");
- }
-
- public void testNoIllegalStateExceptionWithGenericInnerAspect_pr156058_2() {
- runTest("no IllegalStateException with generic inner aspect - 2");
- }
-
- public void testDeclareMethodAnnotations_pr159143() {
- runTest("declare method annotations");
- }
-
- public void testVisibilityProblem_pr149071() {
- runTest("visibility problem");
- }
-
- public void testMissingLineNumbersInStacktraceAfter_pr145442() {
- runTest("missing line numbers in stacktrace after");
- }
-
- public void testMissingLineNumbersInStacktraceAround_pr145442() {
- runTest("missing line numbers in stacktrace around");
- }
-
- public void testGenericArrays_pr158624() {
- runTest("generics and arrays");
- }
-
- public void testMissingLineNumbersInStacktraceBefore_pr145442() {
- runTest("missing line numbers in stacktrace before");
- }
-
- public void testMissingLineNumbersInStacktraceBefore_pr145442_Binary() {
- runTest("missing line numbers in stacktrace before - binary");
- }
-
- public void testAnnotationStylePointcutNPE_pr158412() {
- runTest("annotation style pointcut npe");
- }
-
- public void testAnnotationStylePointcutNPE_pr158412_2() {
- runTest("annotation style pointcut npe - 2");
- }
-
- public void testAnnotationsCallConstructors_pr158126() {
- runTest("annotations, call and constructors problem");
- }
-
- public void testIllegalStateExceptionGenerics_pr153845() {
- runTest("IllegalStateException at GenericSignatureParser.java");
- }
-
- public void testNoIllegalStateExceptionFromAsmDelegate_pr153490_1() {
- runTest("no illegal state exception from AsmDelegate - 1");
- }
-
- public void testNoIllegalStateExceptionFromAsmDelegate_pr153490_2() {
- runTest("no illegal state exception from AsmDelegate - 2");
- }
-
- public void testNoIllegalStateExceptionFromAsmDelegate_pr153490_3() {
- runTest("no illegal state exception from AsmDelegate - 3");
- }
-
- public void testAnnotMethod_pr156962() {
- runTest("Test Annot Method");
- }
-
- public void testAnnotMethodHasMember_pr156962() {
- runTest("Test Annot Method Has Member");
- }
-
- public void testMixingGenerics_pr152848() {
- runTest("mixing generics");
- }
-
- public void testIncorrectStaticinitializationWeaving_pr149560_1() {
- runTest("incorrect staticinitialization weaving - codestyle");
- }
-
- public void testIncorrectStaticinitializationWeaving_pr149560_2() {
- runTest("incorrect staticinitialization weaving - annstyle");
- }
-
- public void testIncorrectDeprecatedAnnotationProcessing_pr154332() {
- runTest("incorrect deprecated annotation processing");
- }
-
- public void testPipeliningProblemWithAnnotationsDecp_pr153380_1() {
- runTest("pipelining decps");
- }
-
- public void testUnwantedPointcutWarning_pr148219() {
- runTest("unwanted warning for pointcut");
- }
-
- public void testDecpAndCflowadderMungerClash_pr152631() {
- runTest("decp and cflowadder munger clash");
- }
-
- public void testGenericInheritanceDecp_pr150095() {
- runTest("generics, inheritance and decp");
- }
-
- public void testIllegalStateException_pr148737() {
- runTest("illegalstateexception for non generic type");
- }
-
- public void testAtajInheritance_pr149305_1() {
- runTest("ataj inheritance - 1");
- }
-
- public void testAtajInheritance_pr149305_2() {
- runTest("ataj inheritance - 2");
- }
-
- public void testAtajInheritance_pr149305_3() {
- runTest("ataj inheritance - 3");
- }
-
- // public void testVerificationFailureForAspectOf_pr148693() {
- // runTest("verification problem"); // build the code
- // Utils.verifyClass(ajc, "mypackage.MyAspect"); // verify it <<< BRAND NEW VERIFY UTILITY FOR EVERYONE TO TRY ;)
- // }
-
- public void testIncorrectAnnotationValue_pr148537() {
- runTest("incorrect annotation value");
- }
-
- public void testVerifyErrNoTypeCflowField_pr145693_1() {
- runTest("verifyErrNoTypeCflowField");
- }
-
- public void testVerifyErrInpathNoTypeCflowField_pr145693_2() {
- runTest("verifyErrInpathNoTypeCflowField");
- }
-
- public void testCpathNoTypeCflowField_pr145693_3() {
- runTest("cpathNoTypeCflowField");
- }
-
- // public void testAdviceNotWovenAspectPath_pr147841() { runTest("advice not woven on aspectpath");}
- public void testGenericSignatures_pr148409() {
- runTest("generic signature problem");
- }
-
- public void testCantFindType_pr149322_01() {
- runTest("can't find type on interface call 1");
- }
-
- public void testCantFindType_pr149322_02() {
- runTest("can't find type on interface call 2");
- }
-
- public void testCantFindType_pr149322_03() {
- runTest("can't find type on interface call 3");
- }
-
- public void testParsingBytecodeLess_pr152871() {
- Utility.testingParseCounter = 0;
- runTest("parsing bytecode less");
- assertTrue("Should have called parse 2 times, not " + Utility.testingParseCounter + " times",
- Utility.testingParseCounter == 2);
- // 5 means: // 3 of these are gone with change to UnwovenClassFileWTPMB to take a classname in ctor
- // (1)=registerAspect
- // (2,3)=checkingIfShouldWeave,AcceptingResult for class
- // (4,5)=checkingIfShouldWeave,AcceptingResult for aspect
- }
-
- public void testMatchVolatileField_pr150671() {
- runTest("match volatile field");
- }
-
- public void testDuplicateJVMTIAgents_pr151938() {
- runTest("Duplicate JVMTI agents");
- }
-
- public void testLTWWorldWithAnnotationMatching_pr153572() {
- runTest("LTWWorld with annotation matching");
- }
-
- public void testReweavableAspectNotRegistered_pr129525() {
- runTest("reweavableAspectNotRegistered error");
- }
-
- public void testNPEinConstructorSignatureImpl_pr155972() {
- runTest("NPE in ConstructorSignatureImpl");
- }
-
- public void testNPEinFieldSignatureImpl_pr155972() {
- runTest("NPE in FieldSignatureImpl");
- }
-
- public void testNPEinInitializerSignatureImpl_pr155972() {
- runTest("NPE in InitializerSignatureImpl");
- }
-
- public void testLineNumberTableCorrectWithGenericsForEachAndContinue_pr155763() {
- runTest("ensure LineNumberTable correct with generics, for each and continue");
- }
-
- public void testDeclareSoftDoesntAllowUndeclaredExInAnonInnerClass_pr151772() {
- runTest("ensure declare soft doesn't allow undeclared exception in anonymous inner class");
- }
-
- public void testDeclareSoftDoesntAllowUndeclaredExInAnonInnerClass_pr151772_2() {
- runTest("ensure declare soft doesn't allow undeclared exception in anonymous inner class - 2");
- }
-
- public void testDeclareSoftAndInnerClasses_pr125981() {
- runTest("declare soft and inner classes");
- }
-
- public void testGetSourceSignature_pr148908() {
- runTest("ensure getSourceSignature correct with static field");
- IHierarchy top = AsmManager.lastActiveStructureModel.getHierarchy();
- IProgramElement ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.FIELD, "MY_COMPARATOR");
- String expected = "static final Comparator MY_COMPARATOR = null;\n";
- assertEquals("expected source signature to be " + expected + " but found " + ipe.getSourceSignature(), expected, ipe
- .getSourceSignature());
-
- ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.FIELD, "aString");
- expected = "static final String aString = \"Constant String\";\n";
- assertEquals("expected source signature to be " + expected + " but found " + ipe.getSourceSignature(), expected, ipe
- .getSourceSignature());
-
- ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.FIELD, "bString");
- expected = "static final String bString = aString;\n";
- assertEquals("expected source signature to be " + expected + " but found " + ipe.getSourceSignature(), expected, ipe
- .getSourceSignature());
-
- ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.FIELD, "cString");
- expected = "static final String cString = (aString + bString);\n";
- assertEquals("expected source signature to be " + expected + " but found " + ipe.getSourceSignature(), expected, ipe
- .getSourceSignature());
-
- ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.FIELD, "dString");
- expected = "static final String dString = ((aString + \" and \") + bString);\n";
- assertEquals("expected source signature to be " + expected + " but found " + ipe.getSourceSignature(), expected, ipe
- .getSourceSignature());
-
- ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.FIELD, "eString");
- expected = "static final String eString = \"Hello World\";\n";
- assertEquals("expected source signature to be " + expected + " but found " + ipe.getSourceSignature(), expected, ipe
- .getSourceSignature());
-
- ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.FIELD, "aList");
- expected = "public List<String> aList = null;\n";
- assertEquals("expected source signature to be " + expected + " but found " + ipe.getSourceSignature(), expected, ipe
- .getSourceSignature());
-
- ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.FIELD, "bList");
- expected = "public List<String> bList = null;\n";
- assertEquals("expected source signature to be " + expected + " but found " + ipe.getSourceSignature(), expected, ipe
- .getSourceSignature());
-
- ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.FIELD, "cList");
- expected = "public List<String> cList = null;\n";
- assertEquals("expected source signature to be " + expected + " but found " + ipe.getSourceSignature(), expected, ipe
- .getSourceSignature());
- }
-
- // public void testNPEWithCustomAgent_pr158205() {
- // runTest("NPE with custom agent");
- // }
-
- public void testWeaveConcreteSubaspectWithAdvice_pr132080() {
- runTest("Weave concrete sub-aspect with advice");
- }
-
- public void testWeaveConcreteSubaspectWithITD_pr132080() {
- runTest("Weave concrete sub-aspect with ITD");
- }
-
- public void testWeaveConcreteSubaspectWithAroundClosure_pr132080() {
- runTest("Weave concrete sub-aspect with around closure");
- }
-
- public void testWeaveConcreteSubaspectWithCflow_pr132080() {
- runTest("Weave concrete sub-aspect with cflow");
- }
-
- public void testNPEWithLTWPointcutLibraryAndMissingAspectDependency_pr158957() {
- runTest("NPE with LTW, pointcut library and missing aspect dependency");
- }
-
- public void testNoInvalidAbsoluteTypeNameWarning_pr156904_1() {
- runTest("ensure no invalidAbsoluteTypeName when do match - 1");
- }
-
- public void testNoInvalidAbsoluteTypeNameWarning_pr156904_2() {
- runTest("ensure no invalidAbsoluteTypeName when do match - 2");
- }
-
- public void testNoInvalidAbsoluteTypeNameWarning_pr156904_3() {
- runTest("ensure no invalidAbsoluteTypeName when do match - 3");
- }
-
- public void testNoInvalidAbsoluteTypeNameWarning_pr156904_4() {
- runTest("ensure no invalidAbsoluteTypeName when do match - 4");
- }
-
- public void testNoNPEWithThrownExceptionWarningAndAtAspectj_pr161217() {
- runTest("NPE with thrown exception warning and at aspectj");
- }
-
- public void testJavadocCommentsAreSetIfHaveNormalComments_pr164340() {
- runTest("javadoc comments are set if have normal comments");
- IHierarchy top = AsmManager.lastActiveStructureModel.getHierarchy();
-
- IProgramElement ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.METHOD, "foo()");
- assertNotNull("expected formal comment to be non null but" + " found that it was null", ipe.getFormalComment());
-
- ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.METHOD, "bar()");
- assertNotNull("expected formal comment to be non null but" + " found that it was null", ipe.getFormalComment());
-
- ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.METHOD, "goo()");
- assertNull("expected formal comment to be null but" + " found that it was " + ipe.getFormalComment(), ipe
- .getFormalComment());
-
- }
-
- public void testBinaryWeavingIntoJava6Library_pr164384() {
- runTest("binary weaving into java 6 library");
- }
-
- public void testCompilanceJava6ThrowsUsageError_pr164384() {
- runTest("compliance java 6 throws usage error");
- }
-
- public void testSourceLevelJava6ThrowsUsageError_pr164384() {
- runTest("source level java 6 throws usage error");
- }
-
- public void testTargetLevelJava6ThrowsUsageError_pr164384() {
- runTest("target level java 6 throws usage error");
- }
-
- public void testStaticImport() {
- runTest("ensure static import reference have static modifier set");
- IHierarchy top = AsmManager.lastActiveStructureModel.getHierarchy();
-
- IProgramElement ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.IMPORT_REFERENCE,
- "ABC.StaticImport.Alphabet.A");
- String expected = "import static ABC.StaticImport.Alphabet.A;";
- assertEquals("expected source signature to be " + expected + " but found " + ipe.getSourceSignature(), expected, ipe
- .getSourceSignature());
- }
-
- public void testAspected_Annotation() {
- runTest("ensure Annotations are added to import list");
- IHierarchy top = AsmManager.lastActiveStructureModel.getHierarchy();
-
- IProgramElement ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.IMPORT_REFERENCE, "annotation.A");
- String expected = "import annotation.A;";
- assertEquals("expected source signature to be " + expected + " but found " + ipe.getSourceSignature(), expected, ipe
- .getSourceSignature());
-
- }
-
- public void testGetSourceSignature_GenericMethods() {
- runTest("ensure getSourceSignature correct with generic method");
- IHierarchy top = AsmManager.lastActiveStructureModel.getHierarchy();
-
- IProgramElement ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.METHOD, "returnT(T)");
- String expected = "public <T> T returnT(T a)";
- assertEquals("expected source signature to be " + expected + " but found " + ipe.getSourceSignature(), expected, ipe
- .getSourceSignature());
-
- ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.METHOD, "returnQ(Q)");
- expected = "public <Q extends List> Q returnQ(Q a)";
- assertEquals("expected source signature to be " + expected + " but found " + ipe.getSourceSignature(), expected, ipe
- .getSourceSignature());
-
- ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.METHOD, "doubleGeneric(Q,T)");
- expected = "public <T, Q> void doubleGeneric(Q a, T b)";
- assertEquals("expected source signature to be " + expected + " but found " + ipe.getSourceSignature(), expected, ipe
- .getSourceSignature());
-
- // Generic Method Constructor
- ipe = top.findElementForLabel(top.getRoot(), IProgramElement.Kind.CONSTRUCTOR, "C(T)");
- expected = "public <T> C(T b)";
- assertEquals("expected source signature to be " + expected + " but found " + ipe.getSourceSignature(), expected, ipe
- .getSourceSignature());
- }
-
- // ///////////////////////////////////////
- public static Test suite() {
- return XMLBasedAjcTestCase.loadSuite(Ajc153Tests.class);
- }
-
- protected URL getSpecFile() {
- return getClassResource("ajc153.xml");
- }
-
- }
|