### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core.tests.model Index: src/org/eclipse/jdt/core/tests/model/ResolveTests.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/ResolveTests.java,v retrieving revision 1.93 diff -u -r1.93 ResolveTests.java --- src/org/eclipse/jdt/core/tests/model/ResolveTests.java 7 Sep 2010 19:14:27 -0000 1.93 +++ src/org/eclipse/jdt/core/tests/model/ResolveTests.java 3 Nov 2010 03:59:03 -0000 @@ -2609,4 +2609,43 @@ elements ); } +// https://bugs.eclipse.org/bugs/show_bug.cgi?id=299384 +public void testCodeSelectInHybrid1415Projects() throws CoreException, IOException { + String jarName = "bug299384.jar"; + String srcName = "bug299384_src.zip"; + try { + String[] pathAndContents = new String[] { + "TestSuite.java", + "public class TestSuite {\n" + + " public TestSuite(final Class p) {}\n" + + "}\n" + + "class TestCase {}\n" + }; + + addLibrary(jarName, srcName, pathAndContents, JavaCore.VERSION_1_5); + + this.workingCopies = new ICompilationUnit[1]; + this.workingCopies[0] = getWorkingCopy( + "/Resolve/src/Test.java", + "public class TextEditTests extends TestCase {\n" + + " {\n" + + " new TestSuite(TextEditTests.class);\n" + + " }\n" + + "}\n"); + + + String str = this.workingCopies[0].getSource(); + int start = str.lastIndexOf("TestSuite"); + int length = "TestSuite".length(); + IJavaElement[] elements = this.workingCopies[0].codeSelect(start, length, this.wcOwner); + + assertElementsEqual( + "Unexpected elements", + "TestSuite(java.lang.Class) [in TestSuite [in TestSuite.class [in [in bug299384.jar [in Resolve]]]]]", + elements + ); + } finally { + removeLibrary(this.currentProject, jarName, srcName); + } +} }