test/tools/javadoc/InlineTagsWithBraces.java

Tue, 25 May 2010 15:54:51 -0700

author
ohair
date
Tue, 25 May 2010 15:54:51 -0700
changeset 554
9d9f26857129
parent 174
fdfed22db054
child 2525
2eb010b6cb22
permissions
-rw-r--r--

6943119: Rebrand source copyright notices
Reviewed-by: darcy

     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  */
    24 /*
    25  * @test
    26  * @bug 4965490
    27  * @summary Verify that matching braces can appear within inline tags.
    28  */
    30 import com.sun.javadoc.*;
    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 {
    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     };
    55     public static void main(String[] args) {
    56         String thisFile = "" +
    57             new java.io.File(System.getProperty("test.src", "."),
    58                              "InlineTagsWithBraces.java");
    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     }
    68     public static boolean start(RootDoc root) {
    69         ClassDoc cd = root.classes()[0];
    70         Tag[] tags = cd.inlineTags();
    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         }
    79         return true;
    80     }
    81 }

mercurial