Author: dazarov
Date: 2011-06-03 14:18:13 -0400 (Fri, 03 Jun 2011)
New Revision: 31822
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.text.ext.test/src/org/jboss/tools/cdi/text/ext/test/EventAndObserverMethodHyperlinkDetectorTest.java
trunk/cdi/tests/org.jboss.tools.cdi.text.ext.test/src/org/jboss/tools/cdi/text/ext/test/HyperlinkDetectorTest.java
Log:
https://issues.jboss.org/browse/JBIDE-9058
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.text.ext.test/src/org/jboss/tools/cdi/text/ext/test/EventAndObserverMethodHyperlinkDetectorTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.text.ext.test/src/org/jboss/tools/cdi/text/ext/test/EventAndObserverMethodHyperlinkDetectorTest.java 2011-06-03
18:17:33 UTC (rev 31821)
+++
trunk/cdi/tests/org.jboss.tools.cdi.text.ext.test/src/org/jboss/tools/cdi/text/ext/test/EventAndObserverMethodHyperlinkDetectorTest.java 2011-06-03
18:18:13 UTC (rev 31822)
@@ -10,32 +10,60 @@
public class EventAndObserverMethodHyperlinkDetectorTest extends HyperlinkDetectorTest {
public void testEventHyperlinkDetector() throws Exception {
+ String[] elementPaths = new String[]{
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/event/bindingTypes/DiscerningObserver.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/TibetanTerrier_Broken.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/event/observer/checkedException/TeaCupPomeranian.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/jbt/validation/interceptors/ObserverMethodInInterceptorBroken.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/implementation/enterprise/newBean/GoldenRetriever.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/event/observer/runtimeException/TeaCupPomeranian.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/event/bindingTypes/DiscerningObserver.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/event/broken/observer/notBusinessMethod/TibetanTerrier_Broken.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/event/broken/observer8/Terrier.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/jbt/validation/decorators/ObserverMethodInDecoratorBroken.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/jbt/validation/observers/ClassFragmentLogger.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/implementation/simple/newSimpleBean/Fox.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/event/broken/observer/beanNotManaged/AbstractBean.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/jbt/quickfixes/TibetanTerrier_BrokenNoInterface.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/event/StringObserver.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/event/observer/transactional/Pomeranian.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/event/eventTypes/EventTypeFamilyObserver.java"
+ };
+
ArrayList<TestRegion> regionList = new ArrayList<TestRegion>();
- regionList.add(new TestRegion(959, 6, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS)}));
- regionList.add(new TestRegion(967, 16, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS)}));
- regionList.add(new TestRegion(985, 11, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS)}));
- regionList.add(new TestRegion(1006, 6, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS)}));
- regionList.add(new TestRegion(1014, 3, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS)}));
- regionList.add(new TestRegion(1019, 34, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS)}));
- regionList.add(new TestRegion(1055, 42, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS)}));
- regionList.add(new TestRegion(1107, 6, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS)}));
- regionList.add(new TestRegion(1115, 34, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS)}));
- regionList.add(new TestRegion(1151, 36, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS)}));
- regionList.add(new TestRegion(1188, 3, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS)}));
- regionList.add(new TestRegion(1235, 11, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS)}));
- regionList.add(new TestRegion(1334, 42, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS)}));
+ regionList.add(new TestRegion(959, 6, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS, elementPaths)}));
+ regionList.add(new TestRegion(967, 16, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS, elementPaths)}));
+ regionList.add(new TestRegion(985, 11, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS, elementPaths)}));
+ regionList.add(new TestRegion(1006, 6, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS, elementPaths)}));
+ regionList.add(new TestRegion(1014, 3, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS, elementPaths)}));
+ regionList.add(new TestRegion(1019, 34, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS, elementPaths)}));
+ regionList.add(new TestRegion(1055, 42, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS, elementPaths)}));
+ regionList.add(new TestRegion(1107, 6, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS, elementPaths)}));
+ regionList.add(new TestRegion(1115, 34, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS, elementPaths)}));
+ regionList.add(new TestRegion(1151, 36, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS, elementPaths)}));
+ regionList.add(new TestRegion(1188, 3, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS, elementPaths)}));
+ regionList.add(new TestRegion(1235, 11, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS, elementPaths)}));
+ regionList.add(new TestRegion(1334, 42, new TestHyperlink[]{new
TestHyperlink(ObserverMethodListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_OBSERVER_METHODS, elementPaths)}));
checkRegions("JavaSource/org/jboss/jsr299/tck/tests/event/bindingTypes/EventEmitter.java",
regionList, new EventAndObserverMethodHyperlinkDetector());
}
public void testObserverMethodHyperlinkDetector() throws Exception {
+ String[] elementPaths = new String[]{
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/event/bindingTypes/EventEmitter.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/event/bindingTypes/EventEmitter.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/event/bindingTypes/EventEmitter.java",
+ "/tck/JavaSource/org/jboss/jsr299/tck/tests/event/fires/nonbinding/OwlFinch_Broken.java"
+ };
+
ArrayList<TestRegion> regionList = new ArrayList<TestRegion>();
- regionList.add(new TestRegion(1196, 4, new TestHyperlink[]{new
TestHyperlink(EventListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_EVENTS)}));
- regionList.add(new TestRegion(1201, 13, new TestHyperlink[]{new
TestHyperlink(EventListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_EVENTS)}));
- regionList.add(new TestRegion(1216, 15, new TestHyperlink[]{new
TestHyperlink(EventListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_EVENTS)}));
- regionList.add(new TestRegion(1232, 9, new TestHyperlink[]{new
TestHyperlink(EventListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_EVENTS)}));
- regionList.add(new TestRegion(1264, 18, new TestHyperlink[]{new
TestHyperlink(EventListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_EVENTS)}));
+
+ regionList.add(new TestRegion(1196, 4, new TestHyperlink[]{new
TestHyperlink(EventListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_EVENTS, elementPaths)}));
+ regionList.add(new TestRegion(1201, 13, new TestHyperlink[]{new
TestHyperlink(EventListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_EVENTS, elementPaths)}));
+ regionList.add(new TestRegion(1216, 15, new TestHyperlink[]{new
TestHyperlink(EventListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_EVENTS, elementPaths)}));
+ regionList.add(new TestRegion(1232, 9, new TestHyperlink[]{new
TestHyperlink(EventListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_EVENTS, elementPaths)}));
+ regionList.add(new TestRegion(1264, 18, new TestHyperlink[]{new
TestHyperlink(EventListHyperlink.class,
CDIExtensionsMessages.CDI_EVENT_LIST_HYPERLINK_OPEN_EVENTS, elementPaths)}));
checkRegions("JavaSource/org/jboss/jsr299/tck/tests/event/observer/checkedException/TeaCupPomeranian.java",
regionList, new EventAndObserverMethodHyperlinkDetector());
}
Modified:
trunk/cdi/tests/org.jboss.tools.cdi.text.ext.test/src/org/jboss/tools/cdi/text/ext/test/HyperlinkDetectorTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.text.ext.test/src/org/jboss/tools/cdi/text/ext/test/HyperlinkDetectorTest.java 2011-06-03
18:17:33 UTC (rev 31821)
+++
trunk/cdi/tests/org.jboss.tools.cdi.text.ext.test/src/org/jboss/tools/cdi/text/ext/test/HyperlinkDetectorTest.java 2011-06-03
18:18:13 UTC (rev 31822)
@@ -2,6 +2,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
@@ -322,6 +323,7 @@
public class TestHyperlink{
Class<? extends IHyperlink> hyperlink;
ICDIElement element = null;
+ String[] elementPaths = null;
String name;
public TestHyperlink(Class<? extends IHyperlink> hyperlink, String name){
@@ -333,12 +335,44 @@
this(hyperlink, name);
this.element = element;
}
+
+ public TestHyperlink(Class<? extends IHyperlink> hyperlink, String name, String[]
elementPaths){
+ this(hyperlink, name);
+ this.elementPaths = elementPaths;
+ }
public boolean validateHyperlink(IHyperlink hyperlink){
- if(hyperlink instanceof ITestableCDIHyperlink && element != null){
+ if(hyperlink instanceof ITestableCDIHyperlink &&
((ITestableCDIHyperlink)hyperlink).getCDIElement() != null && element != null){
assertEquals(element, ((ITestableCDIHyperlink)hyperlink).getCDIElement());
+ }else if(hyperlink instanceof ITestableCDIHyperlink &&
((ITestableCDIHyperlink)hyperlink).getCDIElements() != null && elementPaths !=
null){
+ for(ICDIElement element : ((ITestableCDIHyperlink)hyperlink).getCDIElements()){
+ String elementPath = findElementPath(elementPaths, element);
+ assertNotNull("Unexpected CDI element -
"+element.getSourcePath().toString(), elementPath);
+ }
+
+ for(String elementPath : elementPaths){
+ ICDIElement element =
findCDIElement(((ITestableCDIHyperlink)hyperlink).getCDIElements(), elementPath);
+ assertNotNull("CDI element - "+elementPath+" not found",
element);
+ }
}
return true;
}
+
+ protected String findElementPath(String[] elementPaths, ICDIElement element){
+ for(String elementPath : elementPaths){
+ if(elementPath.equals(element.getSourcePath().toString()))
+ return elementPath;
+ }
+ return null;
+ }
+
+ protected ICDIElement findCDIElement(Set<? extends ICDIElement> elements, String
elementPath){
+ for(ICDIElement element : elements){
+ if(elementPath.equals(element.getSourcePath().toString()))
+ return element;
+ }
+ return null;
+ }
+
}
}
\ No newline at end of file