SummaryTest.java revision 4278:a6cee0419f93
1/*
2 * Copyright (c) 2017, 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.  Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26/*
27 * @test
28 * @bug 8173425
29 * @summary extend com.sun.source API to support parsing javadoc comments
30 * @modules jdk.compiler/com.sun.tools.javac.api
31 *          jdk.compiler/com.sun.tools.javac.file
32 *          jdk.compiler/com.sun.tools.javac.tree
33 *          jdk.compiler/com.sun.tools.javac.util
34 * @build DocCommentTester
35 * @run main DocCommentTester SummaryTest.java
36 */
37
38class SummaryTest {
39    /**
40     * {@summary} abc.
41     */
42    void empty() { }
43/*
44DocComment[DOC_COMMENT, pos:1
45  firstSentence: 1
46    Summary[SUMMARY, pos:1
47      summary: empty
48    ]
49  body: 1
50    Text[TEXT, pos:11, _abc.]
51  block tags: empty
52]
53*/
54    /**
55     * {@summary abc} def.
56     */
57    void simple() { }
58/*
59DocComment[DOC_COMMENT, pos:1
60  firstSentence: 1
61    Summary[SUMMARY, pos:1
62      summary: 1
63        Text[TEXT, pos:11, abc]
64    ]
65  body: 1
66    Text[TEXT, pos:15, _def.]
67  block tags: empty
68]
69*/
70
71    /**
72     *    {@summary abc} def
73     */
74    void leading_space() { }
75/*
76DocComment[DOC_COMMENT, pos:4
77  firstSentence: 1
78    Summary[SUMMARY, pos:4
79      summary: 1
80        Text[TEXT, pos:14, abc]
81    ]
82  body: 1
83    Text[TEXT, pos:18, _def]
84  block tags: empty
85]
86*/
87
88    /**
89     * <p> {@summary abc} def
90     */
91    void leading_html() { }
92/*
93DocComment[DOC_COMMENT, pos:1
94  firstSentence: 3
95    StartElement[START_ELEMENT, pos:1
96      name:p
97      attributes: empty
98    ]
99    Text[TEXT, pos:4, _]
100    Summary[SUMMARY, pos:5
101      summary: 1
102        Text[TEXT, pos:15, abc]
103    ]
104  body: 1
105    Text[TEXT, pos:19, _def]
106  block tags: empty
107]
108*/
109
110    /**
111     * abc {@summary def} ghi
112     */
113    void leading_text() { }
114/*
115DocComment[DOC_COMMENT, pos:1
116  firstSentence: 2
117    Text[TEXT, pos:1, abc_]
118    Summary[SUMMARY, pos:5
119      summary: 1
120        Text[TEXT, pos:15, def]
121    ]
122  body: 1
123    Text[TEXT, pos:19, _ghi]
124  block tags: empty
125]
126*/
127
128    /**
129     * abc. {@summary def} ghi
130     */
131    void leading_text_with_break() { }
132/*
133DocComment[DOC_COMMENT, pos:1
134  firstSentence: 1
135    Text[TEXT, pos:1, abc.]
136  body: 2
137    Summary[SUMMARY, pos:6
138      summary: 1
139        Text[TEXT, pos:16, def]
140    ]
141    Text[TEXT, pos:20, _ghi]
142  block tags: empty
143]
144*/
145
146    /**
147     * {@summary def} <p> ghi
148     */
149    void trailing_html() { }
150/*
151DocComment[DOC_COMMENT, pos:1
152  firstSentence: 1
153    Summary[SUMMARY, pos:1
154      summary: 1
155        Text[TEXT, pos:11, def]
156    ]
157  body: 3
158    Text[TEXT, pos:15, _]
159    StartElement[START_ELEMENT, pos:16
160      name:p
161      attributes: empty
162    ]
163    Text[TEXT, pos:19, _ghi]
164  block tags: empty
165]
166*/
167
168    /**
169     * {@summary abc &lt;def&gt; ghi} jkl
170     */
171    void with_html() { }
172/*
173DocComment[DOC_COMMENT, pos:1
174  firstSentence: 1
175    Summary[SUMMARY, pos:1
176      summary: 5
177        Text[TEXT, pos:11, abc_]
178        Entity[ENTITY, pos:15, lt]
179        Text[TEXT, pos:19, def]
180        Entity[ENTITY, pos:22, gt]
181        Text[TEXT, pos:26, _ghi]
182    ]
183  body: 1
184    Text[TEXT, pos:31, _jkl]
185  block tags: empty
186]
187*/
188}
189