Skip to content

Commit

Permalink
8248001: javadoc generates invalid HTML pages whose ftp:// links are …
Browse files Browse the repository at this point in the history
…broken

Reviewed-by: phh
Backport-of: bb95dda0ac5032e4df582f2903dcbbbbaef9e8c4
  • Loading branch information
ktakakuri authored and Paul Hohensee committed Aug 7, 2023
1 parent 2c54727 commit f5f17ec
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 3 deletions.
Expand Up @@ -1628,7 +1628,8 @@ protected DocPath defaultAction(Element e, Void p) {
if (!(lower.startsWith("mailto:")
|| lower.startsWith("http:")
|| lower.startsWith("https:")
|| lower.startsWith("file:"))) {
|| lower.startsWith("file:")
|| lower.startsWith("ftp:"))) {
text = "{@" + (new DocRootTaglet()).getName() + "}/"
+ redirectPathFromRoot.resolve(text).getPath();
text = replaceDocRootDir(text);
Expand Down
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2002, 2021, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
Expand All @@ -23,7 +23,7 @@

/*
* @test
* @bug 4638015
* @bug 4638015 8248001
* @summary Determine if Hrefs are processed properly when they
* appear in doc comments.
* @author jamieh
Expand Down
75 changes: 75 additions & 0 deletions test/langtools/jdk/javadoc/doclet/testHrefInDocComment/pkg/J1.java
@@ -0,0 +1,75 @@
/*
* Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/

package pkg;

/**
*This class has <a href="{@docRoot}/pkg/J1.html#functions">various functions</a>,
* see <a href="ftp://www.example.com/">FTP Site</a>,
* <a href="file:///path/to/somefile">file service</a> for further information
*<a id="functions">various functions</a>
*<ul>
*<li>function1</li>
*<li>function2</li>
*<li>function3</li>
*</ul>
*<a id="methods">special methods</a>
*<ul>
*<li>method1</li>
*<li>method2</li>
*<li>method3</li>
*</ul>
*/
public class J1 {
/**
*fields.
*/
protected Object field1;

/**
*<a href="{@docRoot}/pkg/J1.html#functions">Creates an instance which has various functions.</a>
*/
public J1(){
}

/**
*This is a<a href="#methods">special method</a>.
*@param p1 arg1
*/
public void method1(int p1){
}

/**
*See <a href="ftp://www.example.com/">FTP Site</a> for more information.
*@param p1 arg1
*/
public void method2(int p1){
}

/**
*See <a href="file:///path/to/somefile">file service</a> for more information.
*@param p1 arg1
*/
public void method3(int p1){
}
}

1 comment on commit f5f17ec

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.