1
+ // RUN: rm -rf %t && mkdir -p %t
2
+ // RUN: clang-doc --format=html --doxygen --output=%t --executor=standalone %s
3
+ // RUN: clang-doc --format=md --doxygen --output=%t --executor=standalone %s
4
+ // RUN: FileCheck %s < %t/GlobalNamespace/index.html --check-prefix=HTML-INDEX-LINE
5
+ // RUN: FileCheck %s < %t/GlobalNamespace/index.html --check-prefix=HTML-INDEX
6
+ // RUN: FileCheck %s < %t/GlobalNamespace/Animals.html --check-prefix=HTML-ANIMAL-LINE
7
+ // RUN: FileCheck %s < %t/GlobalNamespace/Animals.html --check-prefix=HTML-ANIMAL
8
+ // RUN: FileCheck %s < %t/Vehicles/index.html --check-prefix=HTML-VEHICLES-LINE
9
+ // RUN: FileCheck %s < %t/Vehicles/index.html --check-prefix=HTML-VEHICLES
10
+ // RUN: FileCheck %s < %t/GlobalNamespace/index.md --check-prefix=MD-INDEX-LINE
11
+ // RUN: FileCheck %s < %t/GlobalNamespace/index.md --check-prefix=MD-INDEX
12
+ // RUN: FileCheck %s < %t/GlobalNamespace/Animals.md --check-prefix=MD-ANIMAL-LINE
13
+ // RUN: FileCheck %s < %t/GlobalNamespace/Animals.md --check-prefix=MD-ANIMAL
14
+ // RUN: FileCheck %s < %t/Vehicles/index.md --check-prefix=MD-VEHICLES-LINE
15
+ // RUN: FileCheck %s < %t/Vehicles/index.md --check-prefix=MD-VEHICLES
16
+
17
+
18
+ /* *
19
+ * @brief For specifying RGB colors
20
+ */
21
+ enum Color {
22
+ // MD-INDEX-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
23
+ // HTML-INDEX-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
24
+ Red, // /< Red
25
+ Green, // /< Green
26
+ Blue // /< Blue
27
+ };
28
+
29
+ // MD-INDEX: ## Enums
30
+ // MD-INDEX: | enum Color |
31
+ // MD-INDEX: --
32
+ // MD-INDEX: | Red |
33
+ // MD-INDEX: | Green |
34
+ // MD-INDEX: | Blue |
35
+ // MD-INDEX: **brief** For specifying RGB colors
36
+
37
+ // HTML-INDEX: <h2 id="Enums">Enums</h2>
38
+ // HTML-INDEX: <h3 id="{{([0-9A-F]{40})}}">enum Color</h3>
39
+ // HTML-INDEX: <li>Red</li>
40
+ // HTML-INDEX: <li>Green</li>
41
+ // HTML-INDEX: <li>Blue</li>
42
+
43
+ /* *
44
+ * @brief Shape Types
45
+ */
46
+ enum class Shapes {
47
+ // MD-INDEX-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
48
+ // HTML-INDEX-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
49
+ // / Circle
50
+ Circle,
51
+ // / Rectangle
52
+ Rectangle,
53
+ // / Triangle
54
+ Triangle
55
+ };
56
+ // MD-INDEX: | enum class Shapes |
57
+ // MD-INDEX: --
58
+ // MD-INDEX: | Circle |
59
+ // MD-INDEX: | Rectangle |
60
+ // MD-INDEX: | Triangle |
61
+ // MD-INDEX: **brief** Shape Types
62
+
63
+ // HTML-INDEX: <h3 id="{{([0-9A-F]{40})}}">enum class Shapes</h3>
64
+ // HTML-INDEX: <li>Circle</li>
65
+ // HTML-INDEX: <li>Rectangle</li>
66
+ // HTML-INDEX: <li>Triangle</li>
67
+
68
+
69
+ class Animals {
70
+ // MD-ANIMAL-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
71
+ // HTML-ANIMAL-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
72
+ public:
73
+ /* *
74
+ * @brief specify what animal the class is
75
+ */
76
+ enum AnimalType {
77
+ // MD-ANIMAL-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
78
+ // HTML-ANIMAL-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
79
+ Dog, // / Man's best friend
80
+ Cat, // / Man's other best friend
81
+ Iguana // / A lizard
82
+ };
83
+ };
84
+
85
+ // HTML-ANIMAL: <h1>class Animals</h1>
86
+ // HTML-ANIMAL: <h2 id="Enums">Enums</h2>
87
+ // HTML-ANIMAL: <h3 id="{{([0-9A-F]{40})}}">enum AnimalType</h3>
88
+ // HTML-ANIMAL: <li>Dog</li>
89
+ // HTML-ANIMAL: <li>Cat</li>
90
+ // HTML-ANIMAL: <li>Iguana</li>
91
+
92
+ // MD-ANIMAL: # class Animals
93
+ // MD-ANIMAL: ## Enums
94
+ // MD-ANIMAL: | enum AnimalType |
95
+ // MD-ANIMAL: --
96
+ // MD-ANIMAL: | Dog |
97
+ // MD-ANIMAL: | Cat |
98
+ // MD-ANIMAL: | Iguana |
99
+ // MD-ANIMAL: **brief** specify what animal the class is
100
+
101
+
102
+ namespace Vehicles {
103
+ /* *
104
+ * @brief specify type of car
105
+ */
106
+ enum Car {
107
+ // MD-VEHICLES-LINE: *Defined at {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp#[[@LINE-1]]*
108
+ // HTML-VEHICLES-LINE: <p>Defined at line [[@LINE-2]] of file {{.*}}clang-tools-extra{{[\/]}}test{{[\/]}}clang-doc{{[\/]}}enum.cpp</p>
109
+ Sedan, // / Sedan
110
+ SUV, // / SUV
111
+ Pickup, // / Pickup
112
+ Hatchback // / Hatchback
113
+ };
114
+ }
115
+
116
+ // MD-VEHICLES: # namespace Vehicles
117
+ // MD-VEHICLES: ## Enums
118
+ // MD-VEHICLES: | enum Car |
119
+ // MD-VEHICLES: --
120
+ // MD-VEHICLES: | Sedan |
121
+ // MD-VEHICLES: | SUV |
122
+ // MD-VEHICLES: | Pickup |
123
+ // MD-VEHICLES: | Hatchback |
124
+ // MD-VEHICLES: **brief** specify type of car
125
+
126
+ // HTML-VEHICLES: <h1>namespace Vehicles</h1>
127
+ // HTML-VEHICLES: <h2 id="Enums">Enums</h2>
128
+ // HTML-VEHICLES: <h3 id="{{([0-9A-F]{40})}}">enum Car</h3>
129
+ // HTML-VEHICLES: <li>Sedan</li>
130
+ // HTML-VEHICLES: <li>SUV</li>
131
+ // HTML-VEHICLES: <li>Pickup</li>
132
+ // HTML-VEHICLES: <li>Hatchback</li>
0 commit comments