Author: akazakov
Date: 2011-09-13 21:35:34 -0400 (Tue, 13 Sep 2011)
New Revision: 34709
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/core/NamedElement.java
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/CoreTest.java
Log:
https://issues.jboss.org/browse/JBIDE-9673 "Show All Generic Configuration
Points", "Show CDI Events" and "Show CDI Observer Methods"
dialogs should look like "Open Implementation" in JDT
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/core/NamedElement.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/core/NamedElement.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/core/NamedElement.java 2011-09-14
01:35:34 UTC (rev 34709)
@@ -0,0 +1,18 @@
+package org.jboss.jsr299.tck.tests.jbt.core;
+
+import javax.enterprise.inject.Produces;
+import javax.inject.Inject;
+
+public class NamedElement {
+
+ @Produces int i;
+
+ @Produces
+ public String getFoo() {
+ return "";
+ }
+
+ @Inject
+ private void injectFoo(String arg1) {
+ }
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/resources/tck/tests/jbt/core/NamedElement.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/CoreTest.java
===================================================================
---
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/CoreTest.java
(rev 0)
+++
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/CoreTest.java 2011-09-14
01:35:34 UTC (rev 34709)
@@ -0,0 +1,115 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.cdi.core.test.tck;
+
+import java.util.Set;
+
+import org.jboss.tools.cdi.core.IBean;
+import org.jboss.tools.cdi.core.IBeanField;
+import org.jboss.tools.cdi.core.IBeanMethod;
+import org.jboss.tools.cdi.core.ICDIElement;
+import org.jboss.tools.cdi.core.IClassBean;
+import org.jboss.tools.cdi.core.IInjectionPoint;
+import org.jboss.tools.cdi.core.IParameter;
+import org.jboss.tools.cdi.core.IProducer;
+import org.jboss.tools.common.java.IParametedType;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class CoreTest extends TCKTest {
+
+ public void testElementNames() throws Exception {
+ IBean[] beans = cdiProject.getBeans();
+ assertTrue(beans.length>0);
+ for (IBean bean : beans) {
+ assertElementName(bean);
+ Set<IParametedType> types = bean.getAllTypes();
+ for (IParametedType type : types) {
+ String name = type.getSimpleName();
+ assertNotNull(name);
+ }
+ Set<IInjectionPoint> points = bean.getInjectionPoints();
+ for (IInjectionPoint point : points) {
+ assertElementName(point);
+ if(point.getType()!=null) {
+ if(point.getType().getSimpleName()==null) {
+ System.out.println("!!!");
+ }
+ assertNotNull(point.getType().getSimpleName());
+ }
+ }
+ if(bean instanceof IClassBean) {
+ Set<IBeanMethod> methods = ((IClassBean)bean).getAllMethods();
+ for (IBeanMethod method : methods) {
+ assertElementName(method);
+ }
+ }
+ }
+ }
+
+ public void testTypeName() throws Exception {
+ IClassBean bean =
getClassBean("JavaSource/org/jboss/jsr299/tck/tests/jbt/core/NamedElement.java");
+ assertEquals("NamedElement", bean.getElementName());
+ }
+
+ public void testFieldName() throws Exception {
+ IClassBean bean =
getClassBean("JavaSource/org/jboss/jsr299/tck/tests/jbt/core/NamedElement.java");
+ Set<IProducer> producers = bean.getProducers();
+ assertEquals(2, producers.size());
+ boolean found = false;
+ for (IProducer producer : producers) {
+ if(producer instanceof IBeanField) {
+ assertEquals("NamedElement.i", producer.getElementName());
+ found = true;
+ break;
+ }
+ }
+ assertTrue(found);
+ }
+
+ public void testMethodName() throws Exception {
+ IClassBean bean =
getClassBean("JavaSource/org/jboss/jsr299/tck/tests/jbt/core/NamedElement.java");
+ Set<IProducer> producers = bean.getProducers();
+ boolean found = false;
+ for (IProducer producer : producers) {
+ if(producer instanceof IBeanMethod) {
+ assertEquals("NamedElement.getFoo()", producer.getElementName());
+ found = true;
+ break;
+ }
+ }
+ assertTrue(found);
+ }
+
+ public void testParamName() throws Exception {
+ IClassBean bean =
getClassBean("JavaSource/org/jboss/jsr299/tck/tests/jbt/core/NamedElement.java");
+ Set<IInjectionPoint> injections = bean.getInjectionPoints();
+ assertEquals(1, injections.size());
+ assertEquals("arg1", injections.iterator().next().getElementName());
+ }
+
+ public void assertElementName(ICDIElement element) throws Exception {
+ assertNotNull("Name of " + element + " is null.",
element.getElementName());
+ if(element instanceof IBeanField) {
+ IBeanField field = (IBeanField)element;
+ assertEquals(field.getClassBean().getBeanClass().getElementName() + "." +
field.getField().getElementName(), element.getElementName());
+ } else if(element instanceof IBeanMethod) {
+ IBeanMethod method = (IBeanMethod)element;
+ assertEquals(method.getClassBean().getBeanClass().getElementName() + "." +
method.getMethod().getElementName() + "()", element.getElementName());
+ } else if(element instanceof IParameter) {
+ IParameter param = (IParameter)element;
+ assertEquals(param.getName(), element.getElementName());
+ } else if(element instanceof IClassBean) {
+ assertEquals(((IClassBean)element).getBeanClass().getElementName(),
element.getElementName());
+ }
+ }
+}
\ No newline at end of file
Property changes on:
trunk/cdi/tests/org.jboss.tools.cdi.core.test/src/org/jboss/tools/cdi/core/test/tck/CoreTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain