test/tools/javadoc/InlineTagsWithBraces.java

Sat, 07 Nov 2020 10:30:02 +0800

author
aoqi
date
Sat, 07 Nov 2020 10:30:02 +0800
changeset 3938
93012e2a5d1d
parent 2525
2eb010b6cb22
permissions
-rw-r--r--

Added tag mips-jdk8u275-b01 for changeset eb6ee6a5f2fe

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

mercurial