提交 dd9f8c48 编写于 作者: B bpatel

8026370: javadoc creates empty <span class="italic"></span>

Reviewed-by: jjg
上级 a4c31a7a
......@@ -118,7 +118,8 @@ public class TagletWriterImpl extends TagletWriter {
if (deprs.length > 0) {
Content body = commentTagsToOutput(null, doc,
deprs[0].inlineTags(), false);
result.addContent(HtmlTree.SPAN(HtmlStyle.italic, body));
if (!body.isEmpty())
result.addContent(HtmlTree.SPAN(HtmlStyle.italic, body));
}
} else {
if (Util.isDeprecated(member.containingClass())) {
......
......@@ -41,8 +41,6 @@ public class ContentBuilder extends Content {
@Override
public void addContent(Content content) {
nullCheck(content);
if ((content instanceof ContentBuilder) && content.isEmpty())
return;
ensureMutableContents();
if (content instanceof ContentBuilder) {
contents.addAll(((ContentBuilder) content).contents);
......
......@@ -102,7 +102,12 @@ public class HtmlTree extends Content {
* @param tagContent tag content to be added
*/
public void addContent(Content tagContent) {
if (tagContent == HtmlTree.EMPTY || tagContent.isValid()) {
if (tagContent instanceof ContentBuilder) {
for (Content content: ((ContentBuilder)tagContent).contents) {
addContent(content);
}
}
else if (tagContent == HtmlTree.EMPTY || tagContent.isValid()) {
if (content.isEmpty())
content = new ArrayList<Content>();
content.add(tagContent);
......
/*
* Copyright (c) 2013, 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. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* 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.
*/
/*
* @test
* @bug 8026370
* @summary This test checks the generated tag output.
* @author Bhavesh Patel
* @library ../lib/
* @build JavadocTester TestTagOutput
* @run main TestTagOutput
*/
public class TestTagOutput extends JavadocTester {
private static final String BUG_ID = "8026370";
private static final String[][] TEST = {
{BUG_ID + FS + "pkg1" + FS + "DeprecatedTag.html",
"<div class=\"block\"><span class=\"strong\">Deprecated.</span>&nbsp;</div>"},
{BUG_ID + FS + "pkg1" + FS + "DeprecatedTag.html",
"<div class=\"block\"><span class=\"strong\">Deprecated.</span>&nbsp;" +
"<span class=\"italic\">Do not use this.</span></div>"}};
private static final String[][] NEGATED_TEST = {
{BUG_ID + FS + "pkg1" + FS + "DeprecatedTag.html",
"<div class=\"block\"><span class=\"strong\">Deprecated." +
"</span>&nbsp;<span class=\"italic\"></span></div>"}};
private static final String[] ARGS =
new String[] {
"-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"};
/**
* The entry point of the test.
* @param args the array of command line arguments.
*/
public static void main(String[] args) {
TestTagOutput tester = new TestTagOutput();
run(tester, ARGS, TEST, NEGATED_TEST);
tester.printSummary();
}
/**
* {@inheritDoc}
*/
public String getBugId() {
return BUG_ID;
}
/**
* {@inheritDoc}
*/
public String getBugName() {
return getClass().getName();
}
}
/*
* Copyright (c) 2013, 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 pkg1;
public class DeprecatedTag {
/**
* This method is deprecated.
*
* @deprecated
*/
public void deprecatedMethod() {
}
/**
* This method is also deprecated.
*
* @deprecated Do not use this.
*/
public void deprecatedMethodWithDesc() {
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册