Author: akazakov
Date: 2011-07-19 19:54:59 -0400 (Tue, 19 Jul 2011)
New Revision: 33063
Added:
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/.classpath
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/.project
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/bin/
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/src/
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/src/test/
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/src/test/TestList.java
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/.classpath
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/.project
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/bin/
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/src/
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/src/test/
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/src/test/CollectionBean.java
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/src/test/Test.java
trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/resolver/TypeInfoCollectorTest.java
Removed:
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject/.settings/
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject/bin/test/
trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/refactoring/
Modified:
trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/CommonELAllTests.java
Log:
https://issues.jboss.org/browse/JBIDE-9373
Added:
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/.classpath
===================================================================
---
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/.classpath
(rev 0)
+++
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/.classpath 2011-07-19
23:54:59 UTC (rev 33063)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Property changes on:
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/.classpath
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/.project
===================================================================
--- trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/.project
(rev 0)
+++
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/.project 2011-07-19
23:54:59 UTC (rev 33063)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>JavaProject1</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Property changes on:
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/.project
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/src/test/TestList.java
===================================================================
---
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/src/test/TestList.java
(rev 0)
+++
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/src/test/TestList.java 2011-07-19
23:54:59 UTC (rev 33063)
@@ -0,0 +1,8 @@
+package test;
+
+import java.util.ArrayList;
+
+public class TestList<E> extends ArrayList<E> {
+
+ private static final long serialVersionUID = -7718691817083841334L;
+}
\ No newline at end of file
Property changes on:
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject1/src/test/TestList.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/.classpath
===================================================================
---
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/.classpath
(rev 0)
+++
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/.classpath 2011-07-19
23:54:59 UTC (rev 33063)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry combineaccessrules="false" kind="src"
path="/JavaProject1"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Property changes on:
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/.classpath
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/.project
===================================================================
--- trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/.project
(rev 0)
+++
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/.project 2011-07-19
23:54:59 UTC (rev 33063)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>JavaProject2</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Property changes on:
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/.project
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/src/test/CollectionBean.java
===================================================================
---
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/src/test/CollectionBean.java
(rev 0)
+++
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/src/test/CollectionBean.java 2011-07-19
23:54:59 UTC (rev 33063)
@@ -0,0 +1,6 @@
+package test;
+
+public class CollectionBean {
+
+ public TestList<Test> tests;
+}
\ No newline at end of file
Property changes on:
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/src/test/CollectionBean.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/src/test/Test.java
===================================================================
---
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/src/test/Test.java
(rev 0)
+++
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/src/test/Test.java 2011-07-19
23:54:59 UTC (rev 33063)
@@ -0,0 +1,8 @@
+package test;
+
+public class Test {
+
+ public String foo() {
+ return "";
+ }
+}
\ No newline at end of file
Property changes on:
trunk/common/tests/org.jboss.tools.common.el.core.test/projects/JavaProject2/src/test/Test.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/CommonELAllTests.java
===================================================================
---
trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/CommonELAllTests.java 2011-07-19
23:41:22 UTC (rev 33062)
+++
trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/CommonELAllTests.java 2011-07-19
23:54:59 UTC (rev 33063)
@@ -10,13 +10,12 @@
******************************************************************************/
package org.jboss.tools.common.el.core.test;
-import org.jboss.tools.common.el.core.resolver.ELResolverFactoryManager;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
import org.jboss.tools.common.el.core.test.resolver.ELResolverFactoryManagerTest;
import org.jboss.tools.common.el.core.test.resolver.ElVarSearcherTest;
-import org.jboss.tools.test.util.ProjectImportTestSetup;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
+import org.jboss.tools.common.el.core.test.resolver.TypeInfoCollectorTest;
/**
* @author V.Kabanovich
*
@@ -32,6 +31,7 @@
suite.addTestSuite(RelevanceCheckTest.class);
suite.addTestSuite(ElVarSearcherTest.class);
suite.addTestSuite(ELResolverFactoryManagerTest.class);
+ suite.addTestSuite(TypeInfoCollectorTest.class);
return suite;
}
-}
+}
\ No newline at end of file
Added:
trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/resolver/TypeInfoCollectorTest.java
===================================================================
---
trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/resolver/TypeInfoCollectorTest.java
(rev 0)
+++
trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/resolver/TypeInfoCollectorTest.java 2011-07-19
23:54:59 UTC (rev 33063)
@@ -0,0 +1,93 @@
+/*******************************************************************************
+ * 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.common.el.core.test.resolver;
+
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jdt.core.IField;
+import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.IType;
+import org.eclipse.jdt.core.JavaCore;
+import org.jboss.tools.common.el.core.resolver.TypeInfoCollector;
+import org.jboss.tools.common.el.core.resolver.TypeInfoCollector.MemberInfo;
+import org.jboss.tools.test.util.JobUtils;
+import org.jboss.tools.test.util.ResourcesUtils;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class TypeInfoCollectorTest extends TestCase {
+
+ protected static String PLUGIN_ID = "org.jboss.tools.common.el.core.test";
+
+ IProject project1 = null;
+ IProject project2 = null;
+
+ @Override
+ protected void setUp() throws Exception {
+ project1 = ResourcesUtils.importProject(PLUGIN_ID,
"/projects/JavaProject1");
+ project1.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+ JobUtils.waitForIdle();
+
+ project2 = ResourcesUtils.importProject(PLUGIN_ID,
"/projects/JavaProject2");
+ project2.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+ JobUtils.waitForIdle();
+ }
+
+ /**
+ * See
https://issues.jboss.org/browse/JBIDE-9373
+ * @throws CoreException
+ */
+ public void testTypeResolution() throws CoreException {
+ IJavaProject jp = JavaCore.create(project2);
+ IType bean = jp.findType("test.CollectionBean");
+ TypeInfoCollector.TypeInfo typeInfo = new TypeInfoCollector.TypeInfo(bean, null,
false);
+
+ IField field = bean.getField("tests");
+ TypeInfoCollector.FieldInfo fieldInfo = new TypeInfoCollector.FieldInfo(field, null,
typeInfo, false);
+
+ TypeInfoCollector collector = fieldInfo.getTypeCollector(false, false);
+ MemberInfo info = getMethod(collector, "iterator");
+ assertNotNull(info);
+ info = getMethod(info.getTypeCollector(false, false), "next");
+ assertNotNull(info);
+ info = getMethod(info.getTypeCollector(false, false), "foo");
+ assertNotNull(info);
+ assertNotNull(info.getMemberType());
+ }
+
+ private MemberInfo getMethod(TypeInfoCollector collector, String name) {
+ collector.collectInfo();
+ List<MemberInfo> mts = collector.getMethods();
+ for (MemberInfo info : mts) {
+ if(name.equals(info.getName())) {
+ return info;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public void tearDown() throws Exception {
+ boolean saveAutoBuild = ResourcesUtils.setBuildAutomatically(false);
+ JobUtils.waitForIdle();
+ project1.delete(true, true, null);
+ project2.delete(true, true, null);
+ JobUtils.waitForIdle();
+ ResourcesUtils.setBuildAutomatically(saveAutoBuild);
+ }
+}
\ No newline at end of file
Property changes on:
trunk/common/tests/org.jboss.tools.common.el.core.test/src/org/jboss/tools/common/el/core/test/resolver/TypeInfoCollectorTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain