test/tools/javadoc/InlineTagsWithBraces.java

changeset 0
959103a6100f
child 2525
2eb010b6cb22
equal deleted inserted replaced
-1:000000000000 0:959103a6100f
1 /*
2 * Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24 /*
25 * @test
26 * @bug 4965490
27 * @summary Verify that matching braces can appear within inline tags.
28 */
29
30 import com.sun.javadoc.*;
31
32 /**
33 * This is a {@code test} comment.
34 * It is {@bold {@underline only} a test}.
35 * We would like some code
36 * {@code for (int i : nums) { doit(i); } return; }
37 * to be embedded {@maybe {even {a couple {of levels}}} deep}.
38 */
39 public class InlineTagsWithBraces extends Doclet {
40
41 private static String[] expectedTags = {
42 "Text", "@code", "Text",
43 "@bold", "Text", "@code", "Text",
44 "@maybe", "Text"
45 };
46 private static String[] expectedText = {
47 "This is a ", "test", " comment.\n" +
48 " It is ", "{@underline only} a test", ".\n" +
49 " We would like some code\n" +
50 " ", "for (int i : nums) { doit(i); } return; ", "\n" +
51 " to be embedded ", "{even {a couple {of levels}}} deep", "."
52 };
53
54
55 public static void main(String[] args) {
56 String thisFile = "" +
57 new java.io.File(System.getProperty("test.src", "."),
58 "InlineTagsWithBraces.java");
59
60 if (com.sun.tools.javadoc.Main.execute(
61 "javadoc",
62 "InlineTagsWithBraces",
63 InlineTagsWithBraces.class.getClassLoader(),
64 new String[] {"-Xwerror", thisFile}) != 0)
65 throw new Error("Javadoc encountered warnings or errors.");
66 }
67
68 public static boolean start(RootDoc root) {
69 ClassDoc cd = root.classes()[0];
70 Tag[] tags = cd.inlineTags();
71
72 for (int i = 0; i < tags.length; i++) {
73 if (!tags[i].name().equals(expectedTags[i]) ||
74 !tags[i].text().equals(expectedText[i])) {
75 throw new Error("Tag \"" + tags[i] + "\" not as expected");
76 }
77 }
78
79 return true;
80 }
81 }

mercurial