Skip to content

Commit 523c5e6

Browse files
committed
Update the failure test.
Still commented, due to how instable it is.
1 parent 219e820 commit 523c5e6

File tree

3 files changed

+222
-21
lines changed

3 files changed

+222
-21
lines changed

test/dune

+3-3
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,11 @@
4343
; (rule
4444
; (targets html_fail.result)
4545
; (deps ppx.exe html_fail.ml)
46-
; (action (system "TERM= %{ocaml} -I ../implem/.tyxml.objs/ -noinit -noprompt -ppx './%{exe:ppx.exe} --as-ppx' < html_fail.ml 2>&1 | tail -n +3 > %{targets}"))
46+
; (action (system "TERM= %{ocaml} -I ../implem/.tyxml.objs/byte/ -noinit -noprompt -ppx './%{exe:ppx.exe} --as-ppx' < html_fail.ml 2>&1 | tail -n +3 > %{targets}"))
4747
; )
4848

49-
; (alias
50-
; (name runtest)
49+
; (rule
50+
; (alias runtest)
5151
; (deps html_fail.result html_fail.expected)
5252
; (action (diff html_fail.expected html_fail.result))
5353
; (package tyxml-ppx)

test/html_fail.expected

+217-18
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,33 @@
1-
Characters 6-14:
2-
div [a [a []]] ;;
3-
^^^^^^^^
4-
Error: This expression has type
5-
([> 'b Html_types.a ] as 'a) Tyxml.Html.elt = 'a Tyxml_html.elt
1+
Line 2, characters 5-13:
2+
2 | div [a [a []]] ;;
3+
^^^^^^^^
4+
Error: This expression has type
5+
([> ([> 'c Html_types.a ] as 'b) Html_types.a ] as 'a)
6+
Tyxml.Html.elt = 'a Tyxml_html.elt
67
but an expression was expected of type
78
([< Html_types.div_content_fun ] as 'd) Tyxml.Html.elt =
89
'd Tyxml_html.elt
910
Type 'a = [> `A of 'b ] is not compatible with type
1011
'd =
11-
[< `A of Html_types.flow5_without_interactive
12+
[< `A of Html_types.flow5_without_interactive_header_footer
1213
| `Abbr
1314
| `Address
1415
| `Article
1516
| `Aside
16-
| `Audio of Html_types.flow5_without_media
17-
| `Audio_interactive of Html_types.flow5_without_media
17+
| `Audio of Html_types.flow5_without_media_header_footer
18+
| `Audio_interactive of
19+
Html_types.flow5_without_media_header_footer
1820
| `B
1921
| `Bdo
2022
| `Blockquote
2123
| `Br
2224
| `Button
23-
| `Canvas of Html_types.flow5
25+
| `Canvas of Html_types.flow5_without_header_footer
2426
| `Cite
2527
| `Code
2628
| `Command
2729
| `Datalist
28-
| `Del of Html_types.flow5
30+
| `Del of Html_types.flow5_without_header_footer
2931
| `Details
3032
| `Dfn
3133
| `Div
@@ -50,23 +52,24 @@ Error: This expression has type
5052
| `Img
5153
| `Img_interactive
5254
| `Input
53-
| `Ins of Html_types.flow5
55+
| `Ins of Html_types.flow5_without_header_footer
5456
| `Kbd
5557
| `Keygen
5658
| `Label
5759
| `Main
58-
| `Map of Html_types.flow5
60+
| `Map of Html_types.flow5_without_header_footer
5961
| `Mark
6062
| `Menu
6163
| `Meter
6264
| `Nav
63-
| `Noscript of Html_types.flow5_without_noscript
64-
| `Object of Html_types.flow5
65-
| `Object_interactive of Html_types.flow5
65+
| `Noscript of Html_types.flow5_without_noscript_header_footer
66+
| `Object of Html_types.flow5_without_header_footer
67+
| `Object_interactive of Html_types.flow5_without_header_footer
6668
| `Ol
6769
| `Output
6870
| `P
6971
| `PCDATA
72+
| `Picture
7073
| `Pre
7174
| `Progress
7275
| `Q
@@ -83,15 +86,211 @@ Error: This expression has type
8386
| `Sup
8487
| `Svg
8588
| `Table
89+
| `Template
8690
| `Textarea
8791
| `Time
8892
| `U
8993
| `Ul
9094
| `Var
91-
| `Video of Html_types.flow5_without_media
92-
| `Video_interactive of Html_types.flow5_without_media
95+
| `Video of Html_types.flow5_without_media_header_footer
96+
| `Video_interactive of
97+
Html_types.flow5_without_media_header_footer
9398
| `Wbr ]
9499
Type 'b = [> `A of 'c ] is not compatible with type
95-
Html_types.flow5_without_interactive
100+
Html_types.flow5_without_interactive_header_footer
101+
Types for tag `A are incompatible
102+
Line 2, characters 14-28:
103+
2 | div [address [a [address []]]];;
104+
^^^^^^^^^^^^^^
105+
Error: This expression has type
106+
([> ([> Html_types.address ] as 'b) Html_types.a ] as 'a)
107+
Tyxml.Html.elt = 'a Tyxml_html.elt
108+
but an expression was expected of type
109+
([< Html_types.address_content_fun ] as 'c) Tyxml.Html.elt =
110+
'c Tyxml_html.elt
111+
Type 'a = [> `A of 'b ] is not compatible with type
112+
'c =
113+
[< `A of
114+
Html_types.flow5_without_interactive_sectioning_heading_header_footer_address
115+
| `Abbr
116+
| `Audio of
117+
Html_types.flow5_without_media_sectioning_heading_header_footer_address
118+
| `Audio_interactive of
119+
Html_types.flow5_without_media_sectioning_heading_header_footer_address
120+
| `B
121+
| `Bdo
122+
| `Blockquote
123+
| `Br
124+
| `Button
125+
| `Canvas of
126+
Html_types.flow5_without_sectioning_heading_header_footer_address
127+
| `Cite
128+
| `Code
129+
| `Command
130+
| `Datalist
131+
| `Del of
132+
Html_types.flow5_without_sectioning_heading_header_footer_address
133+
| `Details
134+
| `Dfn
135+
| `Div
136+
| `Dl
137+
| `Em
138+
| `Embed
139+
| `Fieldset
140+
| `Figure
141+
| `Form
142+
| `Hr
143+
| `I
144+
| `Iframe
145+
| `Img
146+
| `Img_interactive
147+
| `Input
148+
| `Ins of
149+
Html_types.flow5_without_sectioning_heading_header_footer_address
150+
| `Kbd
151+
| `Keygen
152+
| `Label
153+
| `Main
154+
| `Map of
155+
Html_types.flow5_without_sectioning_heading_header_footer_address
156+
| `Mark
157+
| `Menu
158+
| `Meter
159+
| `Noscript of
160+
Html_types.flow5_without_noscript_sectioning_heading_header_footer_address
161+
| `Object of
162+
Html_types.flow5_without_sectioning_heading_header_footer_address
163+
| `Object_interactive of
164+
Html_types.flow5_without_sectioning_heading_header_footer_address
165+
| `Ol
166+
| `Output
167+
| `P
168+
| `PCDATA
169+
| `Picture
170+
| `Pre
171+
| `Progress
172+
| `Q
173+
| `Ruby
174+
| `Samp
175+
| `Script
176+
| `Select
177+
| `Small
178+
| `Span
179+
| `Strong
180+
| `Style
181+
| `Sub
182+
| `Sup
183+
| `Svg
184+
| `Table
185+
| `Template
186+
| `Textarea
187+
| `Time
188+
| `U
189+
| `Ul
190+
| `Var
191+
| `Video of
192+
Html_types.flow5_without_media_sectioning_heading_header_footer_address
193+
| `Video_interactive of
194+
Html_types.flow5_without_media_sectioning_heading_header_footer_address
195+
| `Wbr ]
196+
Type 'b = [> `Address ] is not compatible with type
197+
Html_types.flow5_without_interactive_sectioning_heading_header_footer_address
198+
Types for tag `A are incompatible
199+
Line 2, characters 30-48:
200+
2 | body [dl [dd [txt "foo"]; dt [a [h1 [txt "foo"]]]]];;
201+
^^^^^^^^^^^^^^^^^^
202+
Error: This expression has type
203+
([> ([> Html_types.h1 ] as 'b) Html_types.a ] as 'a) Tyxml.Html.elt
204+
= 'a Tyxml_html.elt
205+
but an expression was expected of type
206+
([< Html_types.dt_content_fun ] as 'c) Tyxml.Html.elt =
207+
'c Tyxml_html.elt
208+
Type 'a = [> `A of 'b ] is not compatible with type
209+
'c =
210+
[< `A of
211+
Html_types.flow5_without_interactive_sectioning_heading_header_footer_address
212+
| `Abbr
213+
| `Audio of
214+
Html_types.flow5_without_media_sectioning_heading_header_footer_address
215+
| `Audio_interactive of
216+
Html_types.flow5_without_media_sectioning_heading_header_footer_address
217+
| `B
218+
| `Bdo
219+
| `Blockquote
220+
| `Br
221+
| `Button
222+
| `Canvas of
223+
Html_types.flow5_without_sectioning_heading_header_footer_address
224+
| `Cite
225+
| `Code
226+
| `Command
227+
| `Datalist
228+
| `Del of
229+
Html_types.flow5_without_sectioning_heading_header_footer_address
230+
| `Details
231+
| `Dfn
232+
| `Div
233+
| `Dl
234+
| `Em
235+
| `Embed
236+
| `Fieldset
237+
| `Figure
238+
| `Form
239+
| `Hr
240+
| `I
241+
| `Iframe
242+
| `Img
243+
| `Img_interactive
244+
| `Input
245+
| `Ins of
246+
Html_types.flow5_without_sectioning_heading_header_footer_address
247+
| `Kbd
248+
| `Keygen
249+
| `Label
250+
| `Main
251+
| `Map of
252+
Html_types.flow5_without_sectioning_heading_header_footer_address
253+
| `Mark
254+
| `Menu
255+
| `Meter
256+
| `Noscript of
257+
Html_types.flow5_without_noscript_sectioning_heading_header_footer_address
258+
| `Object of
259+
Html_types.flow5_without_sectioning_heading_header_footer_address
260+
| `Object_interactive of
261+
Html_types.flow5_without_sectioning_heading_header_footer_address
262+
| `Ol
263+
| `Output
264+
| `P
265+
| `PCDATA
266+
| `Picture
267+
| `Pre
268+
| `Progress
269+
| `Q
270+
| `Ruby
271+
| `Samp
272+
| `Script
273+
| `Select
274+
| `Small
275+
| `Span
276+
| `Strong
277+
| `Style
278+
| `Sub
279+
| `Sup
280+
| `Svg
281+
| `Table
282+
| `Template
283+
| `Textarea
284+
| `Time
285+
| `U
286+
| `Ul
287+
| `Var
288+
| `Video of
289+
Html_types.flow5_without_media_sectioning_heading_header_footer_address
290+
| `Video_interactive of
291+
Html_types.flow5_without_media_sectioning_heading_header_footer_address
292+
| `Wbr ]
293+
Type 'b = [> `H1 ] is not compatible with type
294+
Html_types.flow5_without_interactive_sectioning_heading_header_footer_address
96295
Types for tag `A are incompatible
97296

test/html_fail.ml

+2
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@ open Tyxml.Html ;;
33
div [a [a []]] ;;
44

55
div [address [a [address []]]];;
6+
7+
body [dl [dd [txt "foo"]; dt [a [h1 [txt "foo"]]]]];;

0 commit comments

Comments
 (0)