Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVikas Chandra2020-07-17 16:30:21 +0000
committerVikas Chandra2020-07-20 15:04:49 +0000
commita704e8e041fd8600dfb5673d1fdd04c0d44bed8f (patch)
tree0d018b41cf1ebafcebae1f1b21bcf863c902a99b
parent5ec82e1db51e4dad4e1919ccf24d701e57b610f0 (diff)
downloadeclipse.jdt.core-a704e8e041fd8600dfb5673d1fdd04c0d44bed8f.tar.gz
eclipse.jdt.core-a704e8e041fd8600dfb5673d1fdd04c0d44bed8f.tar.xz
eclipse.jdt.core-a704e8e041fd8600dfb5673d1fdd04c0d44bed8f.zip
Bug 564781 - [15] Write test cases for search for permit reference/
record reference in a jar Change-Id: I50dba96a4a6f4fb006aea1ee6d532bdad709d782 Signed-off-by: Vikas Chandra <Vikas.Chandra@in.ibm.com>
-rw-r--r--org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugs15Tests.java72
-rw-r--r--org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java8
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/.classpath4
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/lib/permit_reference_in_nonsource_jar.jarbin0 -> 1501 bytes
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/lib/permit_reference_in_source_jar.jarbin0 -> 1895 bytes
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/lib/record_reference_in_nonsource_jar.jarbin0 -> 1792 bytes
-rw-r--r--org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/lib/record_reference_in_source_jar.jarbin0 -> 2129 bytes
7 files changed, 77 insertions, 7 deletions
diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugs15Tests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugs15Tests.java
index 528ee570aa..d6f631fe37 100644
--- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugs15Tests.java
+++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugs15Tests.java
@@ -24,6 +24,7 @@ import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.core.IField;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IJavaProject;
+import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.core.WorkingCopyOwner;
@@ -1322,26 +1323,83 @@ public class JavaSearchBugs15Tests extends AbstractJavaSearchTests {
project1.open(null);
createFolder("/JavaSearchBugs15/src/pack11");
String fileContent = "package pack11;\n" +
- "public sealed class X11 permits X12{\n" +
+ "public sealed class X11_ permits X12_{\n" +
"}\n";
String fileContent2 = "package pack11;\n" +
- "final public class /*here*/X12 extends X11 {\n" +
+ "final public class /*here*/X12_ extends X11_ {\n" +
"}\n";
- createFile("/JavaSearchBugs15/src/pack11/X11.java", fileContent);
- createFile("/JavaSearchBugs15/src/pack11/X12.java",fileContent2);
- ICompilationUnit unit = getCompilationUnit("/JavaSearchBugs15/src/pack11/X12.java");
- String x11 = "/*here*/X12";
+ createFile("/JavaSearchBugs15/src/pack11/X11_.java", fileContent);
+ createFile("/JavaSearchBugs15/src/pack11/X12_.java",fileContent2);
+ ICompilationUnit unit = getCompilationUnit("/JavaSearchBugs15/src/pack11/X12_.java");
+ String x11 = "/*here*/X12_";
int start = fileContent2.indexOf(x11);
IJavaElement[] elements = unit.codeSelect(start, x11.length());
assertTrue(elements.length ==1);
IJavaSearchScope scope = SearchEngine.createWorkspaceScope();
search(elements[0].getElementName(), TYPE, PERMITTYPE_TYPE_REFERENCE, EXACT_RULE, scope);
- assertSearchResults("src/pack11/X11.java pack11.X11 [X12] EXACT_MATCH");
+ assertSearchResults("src/pack11/X11_.java pack11.X11_ [X12_] EXACT_MATCH");
} finally {
deleteProject(project1);
}
}
+ public void testRecordReferenceInNonSourceJar() throws CoreException {
+
+ IType typeRecord = getClassFile("JavaSearchBugs", "lib/record_reference_in_nonsource_jar.jar", "pack", "rr.class").getType();//record
+ search(
+ typeRecord,
+ ALL_OCCURRENCES,
+ getJavaSearchScope(),
+ this.resultCollector);
+ assertSearchResults(
+ "lib/record_reference_in_nonsource_jar.jar pack.rr [No source] EXACT_MATCH",
+ this.resultCollector);
+ // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=565180 ( reason for 1 result instead of 3)
+ }
+
+ public void testRecordReferenceInSourceJar() throws CoreException {
+
+ IType typeRecord = getClassFile("JavaSearchBugs", "lib/record_reference_in_source_jar.jar", "pack", "rr2.class").getType();//record
+ search(
+ typeRecord,
+ ALL_OCCURRENCES,
+ getJavaSearchScope(),
+ this.resultCollector);
+ assertSearchResults(
+ "lib/record_reference_in_source_jar.jar pack.c1.ob EXACT_MATCH\n" +
+ "lib/record_reference_in_source_jar.jar pack.c1.ob EXACT_MATCH\n" +
+ "lib/record_reference_in_source_jar.jar pack.rr2 EXACT_MATCH",
+ this.resultCollector);
+ }
+
+ public void testPermitReferenceInNonSourceJar() throws CoreException {
+
+ IType myClass = getClassFile("JavaSearchBugs", "lib/permit_reference_in_nonsource_jar.jar", "pack", "PermitClass.class").getType();
+ search(
+ myClass,
+ ALL_OCCURRENCES,
+ getJavaSearchScope(),
+ this.resultCollector);
+ assertSearchResults(
+ "lib/permit_reference_in_nonsource_jar.jar pack.PermitClass [No source] EXACT_MATCH",
+ this.resultCollector);
+
+ }
+
+ public void testPermitReferenceInSourceJar() throws CoreException {
+
+ IType myClass = getClassFile("JavaSearchBugs", "lib/permit_reference_in_source_jar.jar", "pack", "PermitClass2.class").getType();
+ search(
+ myClass,
+ ALL_OCCURRENCES,
+ getJavaSearchScope(),
+ this.resultCollector);
+ assertSearchResults(
+ "lib/permit_reference_in_source_jar.jar pack.MyClass2 EXACT_MATCH\n" +
+ "lib/permit_reference_in_source_jar.jar pack.PermitClass2 EXACT_MATCH",
+ this.resultCollector);
+
+ }
}
diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java
index 75b489cded..1b27399078 100644
--- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java
+++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java
@@ -8862,6 +8862,14 @@ public void testBug185452() throws CoreException {
"lib/b89848 b89848\n" +
"lib/b95152.jar [No source]\n" +
"lib/b95152.jar b95152 [No source]\n" +
+ "lib/permit_reference_in_nonsource_jar.jar [No source]\n" +
+ "lib/permit_reference_in_nonsource_jar.jar pack [No source]\n" +
+ "lib/permit_reference_in_source_jar.jar [No source]\n" +
+ "lib/permit_reference_in_source_jar.jar pack [No source]\n" +
+ "lib/record_reference_in_nonsource_jar.jar [No source]\n" +
+ "lib/record_reference_in_nonsource_jar.jar pack [No source]\n" +
+ "lib/record_reference_in_source_jar.jar [No source]\n" +
+ "lib/record_reference_in_source_jar.jar pack [No source]\n" +
"lib/test75816.jar [No source]\n" +
"lib/test81556.jar [No source]\n" +
"lib/test81556.jar b81556 [No source]\n" +
diff --git a/org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/.classpath b/org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/.classpath
index 2205995334..e84ec770e8 100644
--- a/org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/.classpath
+++ b/org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/.classpath
@@ -2,6 +2,10 @@
<classpath>
<classpathentry excluding="b81556/b/" kind="src" path="src"/>
<classpathentry kind="var" path="JCL_LIB" sourcepath="JCL_SRC" rootpath="JCL_SRCROOT"/>
+ <classpathentry kind="lib" path="lib/record_reference_in_nonsource_jar.jar" sourcepath="/JavaSearchBugs/lib/record_reference_in_nonsource_jar.jar"/>
+ <classpathentry kind="lib" path="lib/record_reference_in_source_jar.jar" sourcepath="/JavaSearchBugs/lib/record_reference_in_source_jar.jar"/>
+ <classpathentry kind="lib" path="lib/permit_reference_in_nonsource_jar.jar" sourcepath="/JavaSearchBugs/lib/permit_reference_in_nonsource_jar.jar"/>
+ <classpathentry kind="lib" path="lib/permit_reference_in_source_jar.jar" sourcepath="/JavaSearchBugs/lib/permit_reference_in_source_jar.jar"/>
<classpathentry kind="lib" path="lib/test81556.jar" sourcepath="/JavaSearchBugs/lib/test81556.jar"/>
<classpathentry kind="lib" path="lib/test75816.jar" sourcepath="/JavaSearchBugs/lib/test75816.jar"/>
<classpathentry kind="lib" path="lib/b86293.jar"/>
diff --git a/org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/lib/permit_reference_in_nonsource_jar.jar b/org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/lib/permit_reference_in_nonsource_jar.jar
new file mode 100644
index 0000000000..11c518238f
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/lib/permit_reference_in_nonsource_jar.jar
Binary files differ
diff --git a/org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/lib/permit_reference_in_source_jar.jar b/org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/lib/permit_reference_in_source_jar.jar
new file mode 100644
index 0000000000..32f9b4707d
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/lib/permit_reference_in_source_jar.jar
Binary files differ
diff --git a/org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/lib/record_reference_in_nonsource_jar.jar b/org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/lib/record_reference_in_nonsource_jar.jar
new file mode 100644
index 0000000000..95605868db
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/lib/record_reference_in_nonsource_jar.jar
Binary files differ
diff --git a/org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/lib/record_reference_in_source_jar.jar b/org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/lib/record_reference_in_source_jar.jar
new file mode 100644
index 0000000000..2d696d4f07
--- /dev/null
+++ b/org.eclipse.jdt.core.tests.model/workspace/JavaSearchBugs/lib/record_reference_in_source_jar.jar
Binary files differ

Back to the top