TestRepeatedAnnotations.java revision 2416:94aca852a4d0
1/*
2 * Copyright (c) 2012, 2014, 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      8005092
27 * @summary  Test repeated annotations output.
28 * @author   bpatel
29 * @library  ../lib
30 * @build    JavadocTester
31 * @run main TestRepeatedAnnotations
32 */
33
34public class TestRepeatedAnnotations extends JavadocTester {
35
36    public static void main(String... args) throws Exception {
37        TestRepeatedAnnotations tester = new TestRepeatedAnnotations();
38        tester.runTests();
39    }
40
41    @Test
42    void test() {
43        javadoc("-d", "out",
44                "-sourcepath", testSrc,
45                "pkg", "pkg1");
46        checkExit(Exit.OK);
47
48        checkOutput("pkg/C.html", true,
49                "<a href=\"../pkg/ContaineeSynthDoc.html\" "
50                + "title=\"annotation in pkg\">@ContaineeSynthDoc</a> "
51                + "<a href=\"../pkg/ContaineeSynthDoc.html\" "
52                + "title=\"annotation in pkg\">@ContaineeSynthDoc</a>",
53                "<a href=\"../pkg/ContaineeRegDoc.html\" "
54                + "title=\"annotation in pkg\">@ContaineeRegDoc</a> "
55                + "<a href=\"../pkg/ContaineeRegDoc.html\" "
56                + "title=\"annotation in pkg\">@ContaineeRegDoc</a>",
57                "<a href=\"../pkg/RegContainerDoc.html\" "
58                + "title=\"annotation in pkg\">@RegContainerDoc</a>"
59                + "(<a href=\"../pkg/RegContainerDoc.html#value--\">value</a>={"
60                + "<a href=\"../pkg/RegContaineeNotDoc.html\" "
61                + "title=\"annotation in pkg\">@RegContaineeNotDoc</a>,"
62                + "<a href=\"../pkg/RegContaineeNotDoc.html\" "
63                + "title=\"annotation in pkg\">@RegContaineeNotDoc</a>})",
64                "<a href=\"../pkg/ContaineeSynthDoc.html\" "
65                + "title=\"annotation in pkg\">@ContaineeSynthDoc</a> "
66                + "<a href=\"../pkg/ContaineeSynthDoc.html\" "
67                + "title=\"annotation in pkg\">@ContaineeSynthDoc</a> "
68                + "<a href=\"../pkg/ContaineeSynthDoc.html\" "
69                + "title=\"annotation in pkg\">@ContaineeSynthDoc</a>",
70                "<a href=\"../pkg/ContainerSynthDoc.html\" "
71                + "title=\"annotation in pkg\">@ContainerSynthDoc</a>("
72                + "<a href=\"../pkg/ContainerSynthDoc.html#value--\">value</a>="
73                + "<a href=\"../pkg/ContaineeSynthDoc.html\" "
74                + "title=\"annotation in pkg\">@ContaineeSynthDoc</a>)",
75                "<a href=\"../pkg/ContaineeSynthDoc.html\" "
76                + "title=\"annotation in pkg\">@ContaineeSynthDoc</a> "
77                + "<a href=\"../pkg/ContaineeSynthDoc.html\" "
78                + "title=\"annotation in pkg\">@ContaineeSynthDoc</a>");
79
80        checkOutput("pkg/D.html", true,
81                "<a href=\"../pkg/RegDoc.html\" title=\"annotation in pkg\">@RegDoc</a>"
82                + "(<a href=\"../pkg/RegDoc.html#x--\">x</a>=1)",
83                "<a href=\"../pkg/RegArryDoc.html\" title=\"annotation in pkg\">@RegArryDoc</a>"
84                + "(<a href=\"../pkg/RegArryDoc.html#y--\">y</a>=1)",
85                "<a href=\"../pkg/RegArryDoc.html\" title=\"annotation in pkg\">@RegArryDoc</a>"
86                + "(<a href=\"../pkg/RegArryDoc.html#y--\">y</a>={1,2})",
87                "<a href=\"../pkg/NonSynthDocContainer.html\" "
88                + "title=\"annotation in pkg\">@NonSynthDocContainer</a>"
89                + "(<a href=\"../pkg/NonSynthDocContainer.html#value--\">value</a>="
90                + "<a href=\"../pkg/RegArryDoc.html\" title=\"annotation in pkg\">@RegArryDoc</a>)");
91
92        checkOutput("pkg1/C.html", true,
93                "<a href=\"../pkg1/RegContainerValDoc.html\" "
94                + "title=\"annotation in pkg1\">@RegContainerValDoc</a>"
95                + "(<a href=\"../pkg1/RegContainerValDoc.html#value--\">value</a>={"
96                + "<a href=\"../pkg1/RegContaineeNotDoc.html\" "
97                + "title=\"annotation in pkg1\">@RegContaineeNotDoc</a>,"
98                + "<a href=\"../pkg1/RegContaineeNotDoc.html\" "
99                + "title=\"annotation in pkg1\">@RegContaineeNotDoc</a>},"
100                + "<a href=\"../pkg1/RegContainerValDoc.html#y--\">y</a>=3)",
101                "<a href=\"../pkg1/ContainerValDoc.html\" "
102                + "title=\"annotation in pkg1\">@ContainerValDoc</a>"
103                + "(<a href=\"../pkg1/ContainerValDoc.html#value--\">value</a>={"
104                + "<a href=\"../pkg1/ContaineeNotDoc.html\" "
105                + "title=\"annotation in pkg1\">@ContaineeNotDoc</a>,"
106                + "<a href=\"../pkg1/ContaineeNotDoc.html\" "
107                + "title=\"annotation in pkg1\">@ContaineeNotDoc</a>},"
108                + "<a href=\"../pkg1/ContainerValDoc.html#x--\">x</a>=1)");
109
110        checkOutput("pkg/C.html", false,
111                "<a href=\"../pkg/RegContaineeDoc.html\" "
112                + "title=\"annotation in pkg\">@RegContaineeDoc</a> "
113                + "<a href=\"../pkg/RegContaineeDoc.html\" "
114                + "title=\"annotation in pkg\">@RegContaineeDoc</a>",
115                "<a href=\"../pkg/RegContainerNotDoc.html\" "
116                + "title=\"annotation in pkg\">@RegContainerNotDoc</a>"
117                + "(<a href=\"../pkg/RegContainerNotDoc.html#value--\">value</a>={"
118                + "<a href=\"../pkg/RegContaineeNotDoc.html\" "
119                + "title=\"annotation in pkg\">@RegContaineeNotDoc</a>,"
120                + "<a href=\"../pkg/RegContaineeNotDoc.html\" "
121                + "title=\"annotation in pkg\">@RegContaineeNotDoc</a>})");
122
123        checkOutput("pkg1/C.html", false,
124                "<a href=\"../pkg1/ContaineeSynthDoc.html\" "
125                + "title=\"annotation in pkg1\">@ContaineeSynthDoc</a> "
126                + "<a href=\"../pkg1/ContaineeSynthDoc.html\" "
127                + "title=\"annotation in pkg1\">@ContaineeSynthDoc</a>",
128                "<a href=\"../pkg1/RegContainerValNotDoc.html\" "
129                + "title=\"annotation in pkg1\">@RegContainerValNotDoc</a>"
130                + "(<a href=\"../pkg1/RegContainerValNotDoc.html#value--\">value</a>={"
131                + "<a href=\"../pkg1/RegContaineeDoc.html\" "
132                + "title=\"annotation in pkg1\">@RegContaineeDoc</a>,"
133                + "<a href=\"../pkg1/RegContaineeDoc.html\" "
134                + "title=\"annotation in pkg1\">@RegContaineeDoc</a>},"
135                + "<a href=\"../pkg1/RegContainerValNotDoc.html#y--\">y</a>=4)",
136                "<a href=\"../pkg1/ContainerValNotDoc.html\" "
137                + "title=\"annotation in pkg1\">@ContainerValNotDoc</a>"
138                + "(<a href=\"../pkg1/ContainerValNotDoc.html#value--\">value</a>={"
139                + "<a href=\"../pkg1/ContaineeNotDoc.html\" "
140                + "title=\"annotation in pkg1\">@ContaineeNotDoc</a>,"
141                + "<a href=\"../pkg1/ContaineeNotDoc.html\" "
142                + "title=\"annotation in pkg1\">@ContaineeNotDoc</a>},"
143                + "<a href=\"../pkg1/ContainerValNotDoc.html#x--\">x</a>=2)",
144                "<a href=\"../pkg1/ContainerSynthNotDoc.html\" "
145                + "title=\"annotation in pkg1\">@ContainerSynthNotDoc</a>("
146                + "<a href=\"../pkg1/ContainerSynthNotDoc.html#value--\">value</a>="
147                + "<a href=\"../pkg1/ContaineeSynthDoc.html\" "
148                + "title=\"annotation in pkg1\">@ContaineeSynthDoc</a>)");
149    }
150}
151