diff options
Diffstat (limited to 'org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AttachSourceTests.java')
-rw-r--r-- | org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AttachSourceTests.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AttachSourceTests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AttachSourceTests.java index e9079f085c..d49d65de89 100644 --- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AttachSourceTests.java +++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AttachSourceTests.java @@ -670,4 +670,24 @@ public void testRootPath11() throws JavaModelException { root.close(); } +/** + * Attach a jar with a source attachement that is itself. The jar contains 2 root paths for the same class file. + * (regression test for bug 74014 prefix path for source attachements - automatic detection does not seem to work) + */ +public void testRootPath12() throws JavaModelException { + IJavaProject project = this.getJavaProject("/AttachSourceTests"); + IPackageFragmentRoot root = project.getPackageFragmentRoot(this.getFile("/AttachSourceTests/test5.jar")); + attachSource(root, "/AttachSourceTests/test5.jar", null); + + IClassFile cf = root.getPackageFragment("p1.p2").getClassFile("X.class"); + assertSourceEquals( + "Unexpected source for class file", + "package p1.p2;\n" + + "public class X {\n" + + "}\n", + cf.getSource()); + attachSource(root, null, null); // detach source + root.close(); +} + } |