test/com/sun/javadoc/testTagHolderMethod/TestTagHolderMethod.java

Wed, 15 Oct 2008 17:23:55 +0100

author
mcimadamore
date
Wed, 15 Oct 2008 17:23:55 +0100
changeset 141
83ffdd1a6294
parent 1
9a66ca7c79fa
child 554
9d9f26857129
permissions
-rw-r--r--

6759682: APT: compiler message file broken after refactoring of com.sun.tools.javac.util.Message
Summary: JavacMessages should refresh its own bundle cache when a new resource bundle is added by APT
Reviewed-by: jjg

     1 /*
     2  * Copyright 2002 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
    20  * CA 95054 USA or visit www.sun.com if you need additional information or
    21  * have any questions.
    22  */
    24 import com.sun.javadoc.*;
    26 /*
    27  * @test
    28  * @bug 4706525
    29  * @summary Determine if the new Tag.holder() method works properly.
    30  * @author jamieh
    31  * @library ../lib/
    32  * @build JavadocTester
    33  * @build TestTagHolderMethod
    34  * @run main TestTagHolderMethod
    35  */
    37 public class TestTagHolderMethod extends JavadocTester {
    39     private static final String BUG_ID = "4706525";
    40     public static final String[] ARGS = new String[] {
    41         "-docletpath", SRC_DIR, "-doclet", "TestTagHolderMethod", "-sourcepath",
    42                 SRC_DIR, "pkg"};
    44     /**
    45      * Doclet entry point.
    46      */
    47     public static boolean start(RootDoc root) throws Exception {
    48         ClassDoc[] classes = root.classes();
    49         for (int i = 0; i < classes.length; i++) {
    50             checkHolders(classes[i].fields());
    51             checkHolders(classes[i].constructors());
    52             checkHolders(classes[i].methods());
    53             checkHolders(classes[i].innerClasses());
    54         }
    55         return true;
    56     }
    58     private static void checkHolders(Doc[] holders) throws Exception {
    59         for (int i = 0; i < holders.length; i++) {
    60             Doc holder = holders[i];
    61             Tag[] tags = holder.tags();
    62             for (int j = 0; j < tags.length; j++) {
    63                 if (! tags[j].holder().name().equals(holder.name())) {
    64                     throw new Exception("The holder method does not return the correct Doc object.");
    65                 } else {
    66                     System.out.println(tags[j].name() + " is held by " + holder.name());
    67                 }
    68             }
    69         }
    70     }
    72     /**
    73      * The entry point of the test.
    74      * @param args the array of command line arguments.
    75      */
    76     public static void main(String[] args) {
    77         run(new TestTagHolderMethod(), ARGS, new String[][]{}, new String[][]{});
    78     }
    80     /**
    81      * {@inheritDoc}
    82      */
    83     public String getBugId() {
    84         return BUG_ID;
    85     }
    87     /**
    88      * {@inheritDoc}
    89      */
    90     public String getBugName() {
    91         return getClass().getName();
    92     }
    93 }

mercurial