77// RUN: clang-doc --doxygen --executor=standalone %s -output=%t/docs --format=md
88// RUN: cat %t/docs/GlobalNamespace/index.md | FileCheck %s --check-prefix=MD
99
10- // RUN: clang-doc --doxygen --executor=standalone %s -output=%t/docs --format=json
10+ // RUN: clang-doc --doxygen --executor=standalone %s -output=%t/docs --format=html
1111// RUN: cat %t/docs/json/GlobalNamespace/index.json | FileCheck %s --check-prefix=JSON
12+ // RUN: cat %t/docs/html/GlobalNamespace/_ZTV5tuple.html | FileCheck %s --check-prefix=HTML-STRUCT
1213
1314// YAML: ---
1415// YAML-NEXT: USR: '{{([0-9A-F]{40})}}'
@@ -64,7 +65,10 @@ void ParamPackFunction(T... args);
6465// JSON-NEXT: },
6566// JSON-NEXT: "Template": {
6667// JSON-NEXT: "Parameters": [
67- // JSON-NEXT: "class... T"
68+ // JSON-NEXT: {
69+ // JSON-NEXT: "End": true,
70+ // JSON-NEXT: "Param": "class... T"
71+ // JSON-NEXT: }
6872// JSON-NEXT: ]
6973// JSON-NEXT: },
7074
@@ -111,10 +115,15 @@ void function(T x) {}
111115// JSON-NEXT: },
112116// JSON-NEXT: "Template": {
113117// JSON-NEXT: "Parameters": [
114- // JSON-NEXT: "typename T",
115- // JSON-NEXT: "int U = 1"
118+ // JSON-NEXT: {
119+ // JSON-NEXT: "Param": "typename T"
120+ // JSON-NEXT: },
121+ // JSON-NEXT: {
122+ // JSON-NEXT: "End": true,
123+ // JSON-NEXT: "Param": "int U = 1"
124+ // JSON-NEXT: }
116125// JSON-NEXT: ]
117- // JSON-NEXT: },
126+ // JSON-NEXT: }
118127
119128template <>
120129void function<bool , 0 >(bool x) {}
@@ -162,8 +171,13 @@ void function<bool, 0>(bool x) {}
162171// JSON-NEXT: "Template": {
163172// JSON-NEXT: "Specialization": {
164173// JSON-NEXT: "Parameters": [
165- // JSON-NEXT: "bool",
166- // JSON-NEXT: "0"
174+ // JSON-NEXT: {
175+ // JSON-NEXT: "Param": "bool"
176+ // JSON-NEXT: },
177+ // JSON-NEXT: {
178+ // JSON-NEXT: "End": true,
179+ // JSON-NEXT: "Param": "0"
180+ // JSON-NEXT: }
167181// JSON-NEXT: ],
168182// JSON-NEXT: "SpecializationOf": "{{([0-9A-F]{40})}}"
169183// JSON-NEXT: }
@@ -175,6 +189,22 @@ void function<bool, 0>(bool x) {}
175189template <typename ... Tys>
176190struct tuple {};
177191
192+ // HTML-STRUCT: <section class="hero section-container">
193+ // HTML-STRUCT-NEXT: <pre><code class="language-cpp code-clang-doc">template <typename... Tys></code></pre>
194+ // HTML-STRUCT-NEXT: <div class="hero__title">
195+ // HTML-STRUCT-NEXT: <h1 class="hero__title-large">struct tuple</h1>
196+ // HTML-STRUCT-NEXT: <p>Defined at line [[# @LINE - 6]] of file {{.*}}templates.cpp</p>
197+ // HTML-STRUCT-NEXT: <div class="hero__subtitle">
198+ // HTML-STRUCT-NEXT: <div>
199+ // HTML-STRUCT-NEXT: <p> A Tuple type</p>
200+ // HTML-STRUCT-NEXT: </div>
201+ // HTML-STRUCT-NEXT: <div>
202+ // HTML-STRUCT-NEXT: <p> Does Tuple things.</p>
203+ // HTML-STRUCT-NEXT: </div>
204+ // HTML-STRUCT-NEXT: </div>
205+ // HTML-STRUCT-NEXT: </div>
206+ // HTML-STRUCT-NEXT: </section>
207+
178208// / A function with a tuple parameter
179209// /
180210// / \param t The input to func_with_tuple_param
0 commit comments