/* * Copyright (c) 2009, 2011, 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 6786690 6820360 * @summary This test verifies the nesting of definition list tags. * @author Bhavesh Patel * @library ../lib/ * @build JavadocTester TestHtmlDefinitionListTag * @run main TestHtmlDefinitionListTag */ public class TestHtmlDefinitionListTag extends JavadocTester { private static final String BUG_ID = "6786690-6820360"; // Test common to all runs of javadoc. The class signature should print // properly enclosed definition list tags and the Annotation Type // Optional Element should print properly nested definition list tags // for default value. private static final String[][] TEST_ALL = { {BUG_ID + FS + "pkg1" + FS + "C1.html", "
public class " +
                 "C1" + NL +
                 "extends java.lang.Object" + NL + "implements java.io.Serializable
"}, {BUG_ID + FS + "pkg1" + FS + "C4.html", "
" + NL + "
Default:
" + NL + "
true
" + NL + "
"}}; // Test for normal run of javadoc in which various ClassDocs and // serialized form should have properly nested definition list tags // enclosing comments, tags and deprecated information. private static final String[][] TEST_CMNT_DEPR = { {BUG_ID + FS + "pkg1" + FS + "package-summary.html", "
" + "
Since:
" + NL + "
JDK1.0
"}, {BUG_ID + FS + "pkg1" + FS + "C1.html", "
Since:
" + NL + "
JDK1.0
" + NL + "
See Also:
" + "
" + "C2, " + NL + "" + "Serialized Form
"}, {BUG_ID + FS + "pkg1" + FS + "C1.html", "
Since:
" + NL + "
1.4
" + NL + "
See Also:
" + "" + "setUndecorated(boolean)
"}, {BUG_ID + FS + "pkg1" + FS + "C1.html", "
Parameters:
title" + " - the title
test - boolean value" + "
" + NL + "
Throws:
" + NL + "
java.lang.IllegalArgumentException - if the " + "owner's" + NL + " GraphicsConfiguration is not from a screen " + "device
" + NL + "
HeadlessException
"}, {BUG_ID + FS + "pkg1" + FS + "C1.html", "
Parameters:
undecorated" + " - true if no decorations are" + NL + " to be enabled;" + NL + " false " + "if decorations are to be enabled.
Since:" + "
" + NL + "
1.4
" + NL + "
See Also:
" + "readObject()" + "
"}, {BUG_ID + FS + "pkg1" + FS + "C1.html", "
Throws:
" + NL + "
java.io.IOException
See Also:" + "
" + "setUndecorated(boolean)
"}, {BUG_ID + FS + "pkg1" + FS + "C2.html", "
Parameters:" + "
set - boolean
" + "Since:
" + NL + "
1.4
"}, {BUG_ID + FS + "serialized-form.html", "
Throws:" + "
" + NL + "
" + "java.io.IOException
See Also:" + "
" + "C1.setUndecorated(boolean)
"}, {BUG_ID + FS + "serialized-form.html", "Deprecated." + " As of JDK version 1.5, replaced by" + NL + " " + "setUndecorated(boolean)." + NL + "
This field indicates whether the C1 is " + "undecorated.
" + NL + " " + NL + "
Since:
" + NL + "
1.4
" + NL + "
See Also:" + "
" + "C1.setUndecorated(boolean)
"}, {BUG_ID + FS + "serialized-form.html", "Deprecated." + " As of JDK version 1.5, replaced by" + NL + " " + "setUndecorated(boolean)." + NL + "
Reads the object stream.
" + NL + "
Throws:" + "
" + NL + "
" + "IOException
" + NL + "
java.io.IOException
"}, {BUG_ID + FS + "serialized-form.html", "Deprecated." + " " + NL + "
The name for this class.
"}}; // Test with -nodeprecated option. The ClassDocs should have properly nested // definition list tags enclosing comments and tags. The ClassDocs should not // display definition list for deprecated information. The serialized form // should display properly nested definition list tags for comments, tags // and deprecated information. private static final String[][] TEST_NODEPR = { {BUG_ID + FS + "pkg1" + FS + "package-summary.html", "
" + "
Since:
" + NL + "
JDK1.0
"}, {BUG_ID + FS + "pkg1" + FS + "C1.html", "
Since:" + "
" + NL + "
JDK1.0
" + NL + "
See Also:" + "
" + "C2, " + NL + "" + "Serialized Form
"}, {BUG_ID + FS + "pkg1" + FS + "C1.html", "
Parameters:" + "
title - the title
" + "test - boolean value
" + NL + "
Throws:" + "
" + NL + "
java.lang.IllegalArgumentException" + " - if the owner's" + NL + " GraphicsConfiguration" + " is not from a screen device
" + NL + "
" + "HeadlessException
"}, {BUG_ID + FS + "pkg1" + FS + "C1.html", "
Parameters:" + "
undecorated - true" + " if no decorations are" + NL + " to be enabled;" + NL + " false if decorations are to be enabled." + "
Since:
" + NL + "
1.4
" + NL + "
See Also:
" + "readObject()
"}, {BUG_ID + FS + "pkg1" + FS + "C1.html", "
Throws:" + "
" + NL + "
java.io.IOException
" + "See Also:
" + "setUndecorated(boolean)
"}, {BUG_ID + FS + "serialized-form.html", "
Throws:" + "
" + NL + "
" + "java.io.IOException
See Also:" + "
" + "C1.setUndecorated(boolean)
"}, {BUG_ID + FS + "serialized-form.html", "Deprecated." + " As of JDK version 1.5, replaced by" + NL + " " + "setUndecorated(boolean)." + NL + "
This field indicates whether the C1 is " + "undecorated.
" + NL + " " + NL + "
Since:
" + NL + "
1.4
" + NL + "
See Also:" + "
" + "C1.setUndecorated(boolean)
"}, {BUG_ID + FS + "serialized-form.html", "Deprecated." + " As of JDK version 1.5, replaced by" + NL + " " + "setUndecorated(boolean)." + NL + "
Reads the object stream.
" + NL + "
Throws:" + "
" + NL + "
" + "IOException
" + NL + "
java.io.IOException
"}, {BUG_ID + FS + "serialized-form.html", "Deprecated." + " " + NL + "
" + "The name for this class.
"}}; // Test with -nocomment and -nodeprecated options. The ClassDocs whould // not display definition lists for any member details. private static final String[][] TEST_NOCMNT_NODEPR = { {BUG_ID + FS + "pkg1" + FS + "C1.html", "
public void readObject()" + NL +
                 "                throws java.io.IOException
" + NL + ""}, {BUG_ID + FS + "pkg1" + FS + "C2.html", "
public C2()
" + NL + ""}, {BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "
public " +
                 "static final C1.ModalExclusionType " +
                 "APPLICATION_EXCLUDE
" + NL + ""}, {BUG_ID + FS + "serialized-form.html", "
boolean " +
                 "undecorated
" + NL + "
" + "Deprecated. As of JDK version 1.5, replaced by" + NL + " " + "setUndecorated(boolean).
" + NL + ""}, {BUG_ID + FS + "serialized-form.html", "" + "Deprecated. As of JDK version" + " 1.5, replaced by" + NL + " " + "setUndecorated(boolean)." + NL + ""}}; // Test for valid HTML generation which should not comprise of empty // definition list tags. private static final String[][] NEGATED_TEST = { {BUG_ID + FS + "pkg1" + FS + "package-summary.html", "
"}, {BUG_ID + FS + "pkg1" + FS + "package-summary.html", "
" + NL + "
"}, {BUG_ID + FS + "pkg1" + FS + "C1.html", "
"}, {BUG_ID + FS + "pkg1" + FS + "C1.html", "
" + NL + "
"}, {BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "
"}, {BUG_ID + FS + "pkg1" + FS + "C1.ModalExclusionType.html", "
" + NL + "
"}, {BUG_ID + FS + "pkg1" + FS + "C2.html", "
"}, {BUG_ID + FS + "pkg1" + FS + "C2.html", "
" + NL + "
"}, {BUG_ID + FS + "pkg1" + FS + "C2.ModalType.html", "
"}, {BUG_ID + FS + "pkg1" + FS + "C2.ModalType.html", "
" + NL + "
"}, {BUG_ID + FS + "pkg1" + FS + "C3.html", "
"}, {BUG_ID + FS + "pkg1" + FS + "C3.html", "
" + NL + "
"}, {BUG_ID + FS + "pkg1" + FS + "C4.html", "
"}, {BUG_ID + FS + "pkg1" + FS + "C4.html", "
" + NL + "
"}, {BUG_ID + FS + "pkg1" + FS + "C5.html", "
"}, {BUG_ID + FS + "pkg1" + FS + "C5.html", "
" + NL + "
"}, {BUG_ID + FS + "overview-tree.html", "
"}, {BUG_ID + FS + "overview-tree.html", "
" + NL + "
"}, {BUG_ID + FS + "serialized-form.html", "
"}, {BUG_ID + FS + "serialized-form.html", "
" + NL + "
"}}; private static final String[] ARGS1 = new String[] { "-d", BUG_ID, "-sourcepath", SRC_DIR, "pkg1"}; private static final String[] ARGS2 = new String[] { "-d", BUG_ID, "-nocomment", "-sourcepath", SRC_DIR, "pkg1"}; private static final String[] ARGS3 = new String[] { "-d", BUG_ID, "-nodeprecated", "-sourcepath", SRC_DIR, "pkg1"}; private static final String[] ARGS4 = new String[] { "-d", BUG_ID, "-nocomment", "-nodeprecated", "-sourcepath", SRC_DIR, "pkg1"}; /** * The entry point of the test. * @param args the array of command line arguments. */ public static void main(String[] args) { TestHtmlDefinitionListTag tester = new TestHtmlDefinitionListTag(); tester.exactNewlineMatch = false; run(tester, ARGS1, TEST_ALL, NEGATED_TEST); run(tester, ARGS1, TEST_CMNT_DEPR, NEGATED_TEST); run(tester, ARGS2, TEST_ALL, NEGATED_TEST); run(tester, ARGS2, NO_TEST, TEST_CMNT_DEPR); run(tester, ARGS3, TEST_ALL, NEGATED_TEST); run(tester, ARGS3, TEST_NODEPR, TEST_NOCMNT_NODEPR); run(tester, ARGS4, TEST_ALL, NEGATED_TEST); run(tester, ARGS4, TEST_NOCMNT_NODEPR, TEST_CMNT_DEPR); tester.printSummary(); } /** * {@inheritDoc} */ public String getBugId() { return BUG_ID; } /** * {@inheritDoc} */ public String getBugName() { return getClass().getName(); } }