Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageHover/PackageJavadocTests.java')
-rw-r--r--org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageHover/PackageJavadocTests.java39
1 files changed, 38 insertions, 1 deletions
diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageHover/PackageJavadocTests.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageHover/PackageJavadocTests.java
index f8c69ffec6..9ae5547fa3 100644
--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageHover/PackageJavadocTests.java
+++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/packageHover/PackageJavadocTests.java
@@ -229,7 +229,8 @@ public class PackageJavadocTests extends CoreTests {
Assert.assertTrue(actualHtmlContent.contains("Provides classes for performing arbitrary-precision integer arithmetic"));
} catch (Exception e) {
//there is no internet connection, so the Javadoc cannot be retrieved.
- Assert.assertTrue(actualHtmlContent.contains(CorextMessages.JavaDocLocations_noAttachedSource) || actualHtmlContent.contains(CorextMessages.JavaDocLocations_error_gettingJavadoc));
+ Assert.assertTrue(actualHtmlContent.contains(CorextMessages.JavaDocLocations_noAttachedSource) || actualHtmlContent.contains(CorextMessages.JavaDocLocations_error_gettingJavadoc)
+ || actualHtmlContent.contains(CorextMessages.JavaDocLocations_error_gettingAttachedJavadoc));
}
}
@@ -291,6 +292,42 @@ public class PackageJavadocTests extends CoreTests {
Assert.assertTrue(actualHtmlContent.contains(CorextMessages.JavaDocLocations_noAttachedJavadoc));
}
+ public void testErrotGettingAttachedJavadoc() throws Exception {
+ File junitSrcArchive= JavaTestPlugin.getDefault().getFileInPlugin(new Path("testresources/PackageJavadocTests/JavadocHover_src.zip"));
+
+ assertTrue("junit src not found", junitSrcArchive != null && junitSrcArchive.exists());
+
+ JavaProjectHelper.addSourceContainerWithImport(fJProject1, "src", junitSrcArchive, JavaProjectHelper.JUNIT_SRC_ENCODING);
+ ICompilationUnit cu= (ICompilationUnit)fJProject1.findElement(new Path("junit/javadochoverhtml/JavaDocHoverTest.java"));
+ assertNotNull("JavaDocHoverTest.java", cu);
+
+ //set a wrong Javadoc location URL
+ IClasspathAttribute attribute=
+ JavaCore.newClasspathAttribute(
+ IClasspathAttribute.JAVADOC_LOCATION_ATTRIBUTE_NAME,
+ "url:http://download.oracle.com/javase/6/docs/apii/");
+ IClasspathEntry[] rawClasspath= fJProject1.getRawClasspath();
+ IClasspathEntry newEntry= JavaCore.newLibraryEntry(new Path(JavaTestPlugin.getDefault().getFileInPlugin(new Path("/testresources/rtstubs15.jar")).getAbsolutePath()), null, null, null,
+ new IClasspathAttribute[] { attribute }, false);
+ rawClasspath[0]= newEntry;
+ IClasspathEntry[] newPathEntry= new IClasspathEntry[] { rawClasspath[0], rawClasspath[1] };
+ this.fJProject1.setRawClasspath(newPathEntry, null);
+ this.fJProject1.getResolvedClasspath(false);
+
+ int offset= cu.getSource().indexOf("java.math");
+ int length= "java.math".length();
+ IJavaElement[] codeSelect= cu.codeSelect(offset, length);
+ Assert.assertNotNull(codeSelect);
+ Assert.assertTrue("No package found !", codeSelect.length > 0);
+
+ JavadocBrowserInformationControlInput hoverInfo= JavadocHover.getHoverInfo(codeSelect, cu, new Region(offset, length), null);
+ String actualHtmlContent= hoverInfo.getHtml();
+ Assert.assertNotNull(actualHtmlContent);
+
+ Assert.assertTrue(actualHtmlContent.contains(CorextMessages.JavaDocLocations_error_gettingAttachedJavadoc));
+
+ }
+
public static Test setUpTest(Test test) {
return new ProjectTestSetup(test);
}

Back to the top