11// RUN: rm -rf %t && mkdir -p %t
22// RUN: clang-doc --format=html --doxygen --output=%t --executor=standalone %s
33// RUN: clang-doc --format=md --doxygen --output=%t --executor=standalone %s
4+ // RUN: clang-doc --format=mustache --doxygen --output=%t --executor=standalone %s
45// RUN: FileCheck %s < %t/GlobalNamespace/index.html --check-prefix=HTML-INDEX-LINE
56// RUN: FileCheck %s < %t/GlobalNamespace/index.html --check-prefix=HTML-INDEX
67// RUN: FileCheck %s < %t/GlobalNamespace/Animals.html --check-prefix=HTML-ANIMAL-LINE
78// RUN: FileCheck %s < %t/GlobalNamespace/Animals.html --check-prefix=HTML-ANIMAL
89// RUN: FileCheck %s < %t/Vehicles/index.html --check-prefix=HTML-VEHICLES-LINE
910// RUN: FileCheck %s < %t/Vehicles/index.html --check-prefix=HTML-VEHICLES
11+ // RUN: FileCheck %s < %t/html/GlobalNamespace/index.html --check-prefix=MUSTACHE-INDEX-LINE
12+ // RUN: FileCheck %s < %t/html/GlobalNamespace/index.html --check-prefix=MUSTACHE-INDEX
13+ // RUN: FileCheck %s < %t/html/GlobalNamespace/_ZTV7Animals.html --check-prefix=MUSTACHE-ANIMAL-LINE
14+ // RUN: FileCheck %s < %t/html/GlobalNamespace/_ZTV7Animals.html --check-prefix=MUSTACHE-ANIMAL
15+ // RUN: FileCheck %s < %t/html/Vehicles/index.html --check-prefix=MUSTACHE-VEHICLES-LINE
16+ // RUN: FileCheck %s < %t/html/Vehicles/index.html --check-prefix=MUSTACHE-VEHICLES
1017// RUN: FileCheck %s < %t/GlobalNamespace/index.md --check-prefix=MD-INDEX-LINE
1118// RUN: FileCheck %s < %t/GlobalNamespace/index.md --check-prefix=MD-INDEX
1219// RUN: FileCheck %s < %t/GlobalNamespace/Animals.md --check-prefix=MD-ANIMAL-LINE
1320// RUN: FileCheck %s < %t/GlobalNamespace/Animals.md --check-prefix=MD-ANIMAL
1421// RUN: FileCheck %s < %t/Vehicles/index.md --check-prefix=MD-VEHICLES-LINE
1522// RUN: FileCheck %s < %t/Vehicles/index.md --check-prefix=MD-VEHICLES
1623
24+ // COM: FIXME: Add enum value comments to template
25+
1726/* *
1827 * @brief For specifying RGB colors
1928 */
2029enum Color {
2130 // MD-INDEX-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
2231 // HTML-INDEX-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
32+ // MUSTACHE-INDEX-LINE-NOT: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
2333 Red, // /< Comment 1
2434 Green, // /< Comment 2
2535 Blue // /< Comment 3
@@ -44,12 +54,41 @@ enum Color {
4454// HTML-INDEX: <td>2</td>
4555// HTML-INDEX: <p> Comment 3</p>
4656
57+ // MUSTACHE-INDEX: <div>
58+ // MUSTACHE-INDEX: <pre>
59+ // MUSTACHE-INDEX: <code class="language-cpp code-clang-doc">
60+ // MUSTACHE-INDEX: enum Color
61+ // MUSTACHE-INDEX: </code>
62+ // MUSTACHE-INDEX: </pre>
63+ // MUSTACHE-INDEX: </div>
64+ // MUSTACHE-INDEX: <table class="table-wrapper">
65+ // MUSTACHE-INDEX: <tbody>
66+ // MUSTACHE-INDEX: <tr>
67+ // MUSTACHE-INDEX: <th>Name</th>
68+ // MUSTACHE-INDEX: <th>Value</th>
69+ // MUSTACHE-INDEX: </tr>
70+ // MUSTACHE-INDEX: <tr>
71+ // MUSTACHE-INDEX: <td>Red</td>
72+ // MUSTACHE-INDEX: <td>0</td>
73+ // MUSTACHE-INDEX: </tr>
74+ // MUSTACHE-INDEX: <tr>
75+ // MUSTACHE-INDEX: <td>Green</td>
76+ // MUSTACHE-INDEX: <td>1</td>
77+ // MUSTACHE-INDEX: </tr>
78+ // MUSTACHE-INDEX: <tr>
79+ // MUSTACHE-INDEX: <td>Blue</td>
80+ // MUSTACHE-INDEX: <td>2</td>
81+ // MUSTACHE-INDEX: </tr>
82+ // MUSTACHE-INDEX: </tbody>
83+ // MUSTACHE-INDEX: </table>
84+
4785/* *
4886 * @brief Shape Types
4987 */
5088enum class Shapes {
5189 // MD-INDEX-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
5290 // HTML-INDEX-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
91+ // MUSTACHE-INDEX-LINE-NOT: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
5392
5493 // / Comment 1
5594 Circle,
@@ -76,16 +115,48 @@ enum class Shapes {
76115// HTML-INDEX: <td>2</td>
77116// HTML-INDEX: <p> Comment 3</p>
78117
118+ // COM: FIXME: Serialize "enum class" in template
119+ // MUSTACHE-INDEX: <div>
120+ // MUSTACHE-INDEX: <pre>
121+ // MUSTACHE-INDEX: <code class="language-cpp code-clang-doc">
122+ // MUSTACHE-INDEX: enum Shapes
123+ // MUSTACHE-INDEX: </code>
124+ // MUSTACHE-INDEX: </pre>
125+ // MUSTACHE-INDEX: </div>
126+ // MUSTACHE-INDEX: <table class="table-wrapper">
127+ // MUSTACHE-INDEX: <tbody>
128+ // MUSTACHE-INDEX: <tr>
129+ // MUSTACHE-INDEX: <th>Name</th>
130+ // MUSTACHE-INDEX: <th>Value</th>
131+ // MUSTACHE-INDEX: </tr>
132+ // MUSTACHE-INDEX: <tr>
133+ // MUSTACHE-INDEX: <td>Circle</td>
134+ // MUSTACHE-INDEX: <td>0</td>
135+ // MUSTACHE-INDEX: </tr>
136+ // MUSTACHE-INDEX: <tr>
137+ // MUSTACHE-INDEX: <td>Rectangle</td>
138+ // MUSTACHE-INDEX: <td>1</td>
139+ // MUSTACHE-INDEX: </tr>
140+ // MUSTACHE-INDEX: <tr>
141+ // MUSTACHE-INDEX: <td>Triangle</td>
142+ // MUSTACHE-INDEX: <td>2</td>
143+ // MUSTACHE-INDEX: </tr>
144+ // MUSTACHE-INDEX: </tbody>
145+ // MUSTACHE-INDEX: </table>
146+
147+ // COM: FIXME: Add enums declared inside of classes to class template
79148class Animals {
80149 // MD-ANIMAL-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
81150 // HTML-ANIMAL-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
151+ // MUSTACHE-ANIMAL-LINE: <p>Defined at line [[@LINE-3]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
82152public:
83153 /* *
84154 * @brief specify what animal the class is
85155 */
86156 enum AnimalType {
87157 // MD-ANIMAL-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
88158 // HTML-ANIMAL-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
159+ // MUSTACHE-ANIMAL-LINE-NOT: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
89160 Dog, // /< Man's best friend
90161 Cat, // /< Man's other best friend
91162 Iguana // /< A lizard
@@ -105,6 +176,19 @@ class Animals {
105176// HTML-ANIMAL: <td>2</td>
106177// HTML-ANIMAL: <p> A lizard</p>
107178
179+ // MUSTACHE-ANIMAL-NOT: <h1>class Animals</h1>
180+ // MUSTACHE-ANIMAL-NOT: <h2 id="Enums">Enums</h2>
181+ // MUSTACHE-ANIMAL-NOT: <th colspan="3">enum AnimalType</th>
182+ // MUSTACHE-ANIMAL-NOT: <td>Dog</td>
183+ // MUSTACHE-ANIMAL-NOT: <td>0</td>
184+ // MUSTACHE-ANIMAL-NOT: <p> Man's best friend</p>
185+ // MUSTACHE-ANIMAL-NOT: <td>Cat</td>
186+ // MUSTACHE-ANIMAL-NOT: <td>1</td>
187+ // MUSTACHE-ANIMAL-NOT: <p> Man's other best friend</p>
188+ // MUSTACHE-ANIMAL-NOT: <td>Iguana</td>
189+ // MUSTACHE-ANIMAL-NOT: <td>2</td>
190+ // MUSTACHE-ANIMAL-NOT: <p> A lizard</p>
191+
108192// MD-ANIMAL: # class Animals
109193// MD-ANIMAL: ## Enums
110194// MD-ANIMAL: | enum AnimalType |
@@ -121,6 +205,7 @@ namespace Vehicles {
121205enum Car {
122206 // MD-VEHICLES-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
123207 // HTML-VEHICLES-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
208+ // MUSTACHE-VEHICLES-LINE: Defined at line [[@LINE-3]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp
124209
125210 Sedan, // /< Comment 1
126211 SUV, // /< Comment 2
@@ -154,6 +239,38 @@ enum Car {
154239// HTML-VEHICLES: <td>3</td>
155240// HTML-VEHICLES: <p> Comment 4</p>
156241
242+ // MUSTACHE-VEHICLES: <div>
243+ // MUSTACHE-VEHICLES: <pre>
244+ // MUSTACHE-VEHICLES: <code class="language-cpp code-clang-doc">
245+ // MUSTACHE-VEHICLES: enum Car
246+ // MUSTACHE-VEHICLES: </code>
247+ // MUSTACHE-VEHICLES: </pre>
248+ // MUSTACHE-VEHICLES: </div>
249+ // MUSTACHE-VEHICLES: <table class="table-wrapper">
250+ // MUSTACHE-VEHICLES: <tbody>
251+ // MUSTACHE-VEHICLES: <tr>
252+ // MUSTACHE-VEHICLES: <th>Name</th>
253+ // MUSTACHE-VEHICLES: <th>Value</th>
254+ // MUSTACHE-VEHICLES: </tr>
255+ // MUSTACHE-VEHICLES: <tr>
256+ // MUSTACHE-VEHICLES: <td>Sedan</td>
257+ // MUSTACHE-VEHICLES: <td>0</td>
258+ // MUSTACHE-VEHICLES: </tr>
259+ // MUSTACHE-VEHICLES: <tr>
260+ // MUSTACHE-VEHICLES: <td>SUV</td>
261+ // MUSTACHE-VEHICLES: <td>1</td>
262+ // MUSTACHE-VEHICLES: </tr>
263+ // MUSTACHE-VEHICLES: <tr>
264+ // MUSTACHE-VEHICLES: <td>Pickup</td>
265+ // MUSTACHE-VEHICLES: <td>2</td>
266+ // MUSTACHE-VEHICLES: </tr>
267+ // MUSTACHE-VEHICLES: <tr>
268+ // MUSTACHE-VEHICLES: <td>Hatchback</td>
269+ // MUSTACHE-VEHICLES: <td>3</td>
270+ // MUSTACHE-VEHICLES: </tr>
271+ // MUSTACHE-VEHICLES: </tbody>
272+ // MUSTACHE-VEHICLES: </table>
273+
157274enum ColorUserSpecified {
158275 RedUserSpecified = ' A' ,
159276 GreenUserSpecified = 2 ,
@@ -173,3 +290,31 @@ enum ColorUserSpecified {
173290// HTML-INDEX: <td>2</td>
174291// HTML-INDEX: <td>BlueUserSpecified</td>
175292// HTML-INDEX: <td>'C'</td>
293+
294+ // MUSTACHE-INDEX: <div>
295+ // MUSTACHE-INDEX: <pre>
296+ // MUSTACHE-INDEX: <code class="language-cpp code-clang-doc">
297+ // MUSTACHE-INDEX: enum ColorUserSpecified
298+ // MUSTACHE-INDEX: </code>
299+ // MUSTACHE-INDEX: </pre>
300+ // MUSTACHE-INDEX: </div>
301+ // MUSTACHE-INDEX: <table class="table-wrapper">
302+ // MUSTACHE-INDEX: <tbody>
303+ // MUSTACHE-INDEX: <tr>
304+ // MUSTACHE-INDEX: <th>Name</th>
305+ // MUSTACHE-INDEX: <th>Value</th>
306+ // MUSTACHE-INDEX: </tr>
307+ // MUSTACHE-INDEX: <tr>
308+ // MUSTACHE-INDEX: <td>RedUserSpecified</td>
309+ // MUSTACHE-INDEX: <td>'A'</td>
310+ // MUSTACHE-INDEX: </tr>
311+ // MUSTACHE-INDEX: <tr>
312+ // MUSTACHE-INDEX: <td>GreenUserSpecified</td>
313+ // MUSTACHE-INDEX: <td>2</td>
314+ // MUSTACHE-INDEX: </tr>
315+ // MUSTACHE-INDEX: <tr>
316+ // MUSTACHE-INDEX: <td>BlueUserSpecified</td>
317+ // MUSTACHE-INDEX: <td>'C'</td>
318+ // MUSTACHE-INDEX: </tr>
319+ // MUSTACHE-INDEX: </tbody>
320+ // MUSTACHE-INDEX: </table>
0 commit comments