test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenPrivateMethodsWithPackageFlag.java
--- a/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenPrivateMethodsWithPackageFlag.java Tue Mar 06 17:43:21 2018 +0100
+++ b/test/langtools/jdk/javadoc/doclet/testOverriddenMethods/TestOverriddenPrivateMethodsWithPackageFlag.java Tue Mar 06 10:45:47 2018 -0800
@@ -23,7 +23,7 @@
/*
* @test
- * @bug 4634891 8025633 8026567
+ * @bug 4634891 8025633 8026567 8182765
* @summary Determine if overridden methods are properly documented when
* -protected (default) visibility flag is used.
* @author jamieh
@@ -51,6 +51,54 @@
// The public method should be overridden
checkOutput("pkg1/SubClass.html", true,
"<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+ + "<dd><code><a href=\"BaseClass.html#publicMethod()\">"
+ + "publicMethod</a></code> in class <code>"
+ + "<a href=\"BaseClass.html\" title=\"class in pkg1\">BaseClass</a></code></dd>");
+
+ // The public method in different package should be overridden
+ checkOutput("pkg2/SubClass.html", true,
+ "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+ + "<dd><code><a href=\"../pkg1/BaseClass.html#publicMethod()\">"
+ + "publicMethod</a></code> in class <code>"
+ + "<a href=\"../pkg1/BaseClass.html\" title=\"class in pkg1\">BaseClass</a></code></dd>");
+
+ // The package private method should be overridden since the base and sub class are in the same
+ // package.
+ checkOutput("pkg1/SubClass.html", true,
+ "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+ + "<dd><code><a href=\"BaseClass.html#packagePrivateMethod()\">"
+ + "packagePrivateMethod</a></code> in class <code>"
+ + "<a href=\"BaseClass.html\" title=\"class in pkg1\">BaseClass</a></code></dd>");
+
+ // The private method in should not be overridden
+ checkOutput("pkg1/SubClass.html", false,
+ "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+ + "<dd><code><a href=\"BaseClass.html#privateMethod--\">");
+
+ // The private method in different package should not be overridden
+ checkOutput("pkg2/SubClass.html", false,
+ "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+ + "<dd><code><a href=\"../pkg1/BaseClass.html#privateMethod--\">");
+
+ // The package private method should not be overridden since the base and sub class are in
+ // different packages.
+ checkOutput("pkg2/SubClass.html", false,
+ "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+ + "<dd><code><a href=\"../pkg1/BaseClass.html#packagePrivateMethod--\">");
+ }
+
+ @Test
+ void test_html4() {
+ javadoc("-d", "out-html4",
+ "-html4",
+ "-sourcepath", testSrc,
+ "-package",
+ "pkg1", "pkg2");
+ checkExit(Exit.OK);
+
+ // The public method should be overridden
+ checkOutput("pkg1/SubClass.html", true,
+ "<dt><span class=\"overrideSpecifyLabel\">Overrides:</span></dt>\n"
+ "<dd><code><a href=\"BaseClass.html#publicMethod--\">"
+ "publicMethod</a></code> in class <code>"
+ "<a href=\"BaseClass.html\" title=\"class in pkg1\">BaseClass</a></code></dd>");