Skip to content

Commit 7389b12

Browse files
committed
Add a test for the YAML 1.1 types
WIP
1 parent 141afdd commit 7389b12

File tree

4 files changed

+426
-0
lines changed

4 files changed

+426
-0
lines changed

tests/data/yaml11.schema

+263
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,263 @@
1+
---
2+
'!!bool FALSE': ['bool', 'false()', 'false']
3+
'!!bool False': ['bool', 'false()', 'false']
4+
'!!bool N': ['bool', 'false()', "false"]
5+
'!!bool NO': ['bool', 'false()', "false"]
6+
'!!bool No': ['bool', 'false()', "false"]
7+
'!!bool OFF': ['bool', 'false()', "false"]
8+
'!!bool ON': ['bool', 'true()', "true"]
9+
'!!bool Off': ['bool', 'false()', "false"]
10+
'!!bool On': ['bool', 'true()', "true"]
11+
'!!bool TRUE': ['bool', 'true()', 'true']
12+
'!!bool True': ['bool', 'true()', 'true']
13+
'!!bool Y': ['bool', 'true()', "true"]
14+
'!!bool YES': ['bool', 'true()', "true"]
15+
'!!bool Yes': ['bool', 'true()', "true"]
16+
'!!bool false': ['bool', 'false()', 'false']
17+
'!!bool n': ['bool', 'false()', "false"]
18+
'!!bool no': ['bool', 'false()', "false"]
19+
'!!bool off': ['bool', 'false()', "false"]
20+
'!!bool on': ['bool', 'true()', "true"]
21+
'!!bool true': ['bool', 'true()', 'true']
22+
'!!bool y': ['bool', 'true()', "true"]
23+
'!!bool yes': ['bool', 'true()', "true"]
24+
'!!float +.INF': ['inf', 'inf()', '.inf']
25+
'!!float +.Inf': ['inf', 'inf()', '.inf']
26+
'!!float +.inf': ['inf', 'inf()', '.inf']
27+
'!!float +0.3e+3': ['float', '300.0', '300.0']
28+
'!!float -.INF': ['inf', 'inf-neg()', '-.inf']
29+
'!!float -.Inf': ['inf', 'inf-neg()', '-.inf']
30+
'!!float -.inf': ['inf', 'inf-neg()', '-.inf']
31+
'!!float -3.14': ['float', '-3.14', '-3.14']
32+
'!!float .0': ['float', '0.0', '0.0']
33+
'!!float .14': ['float', '0.14', '0.14']
34+
'!!float .1_4': ['float', '0.14', '0.14']
35+
'!!float .3E-1': ['float', '0.03', '0.03']
36+
'!!float .3e+3': ['float', '300.0', '300.0']
37+
'!!float .INF': ['inf', 'inf()', '.inf']
38+
'!!float .Inf': ['inf', 'inf()', '.inf']
39+
'!!float .NAN': ['nan', 'nan()', '.nan']
40+
'!!float .NaN': ['nan', 'nan()', '.nan']
41+
'!!float .inf': ['inf', 'inf()', '.inf']
42+
'!!float .nan': ['nan', 'nan()', '.nan']
43+
'!!float 0.0': ['float', '0.0', '0.0']
44+
'!!float 001.23': ['float', '1.23', '1.23']
45+
'!!float 190:20:30.15': ['float', '685230.15', '685230.15']
46+
'!!float 3.': ['float', '3.0', '3.0']
47+
'!!float 3.14': ['float', '3.14', '3.14']
48+
'!!float 3.3e+3': ['float', '3300.0', '3300.0']
49+
'!!float 85.230_15e+03': ['float', '85230.15', '85230.15']
50+
'!!float 85_230.15': ['float', '85230.15', '85230.15']
51+
'!!int +0': ['int', '0', '0']
52+
'!!int +0100_200': ['int', '32896', '32896']
53+
'!!int +0b100': ['int', '4', '4']
54+
'!!int +190:20:30': ['int', '685230', '685230']
55+
'!!int +23': ['int', '23', '23']
56+
'!!int -0': ['int', '0', '0']
57+
'!!int -0100_200': ['int', '-32896', '-32896']
58+
'!!int -0b101': ['int', '-5', '-5']
59+
'!!int -0x30': ['int', '-48', '-48']
60+
'!!int -190:20:30': ['int', '-685230', '-685230']
61+
'!!int -23': ['int', '-23', '-23']
62+
'!!int 0': ['int', '0', '0']
63+
'!!int 00': ['int', '0', '0']
64+
'!!int 0011': ['int', '9', '9']
65+
'!!int 010': ['int', '8', '8']
66+
'!!int 02_0': ['int', '16', '16']
67+
'!!int 07': ['int', '7', '7']
68+
'!!int 0b0': ['int', '0', '0']
69+
'!!int 0b100_101': ['int', '37', '37']
70+
'!!int 0x0': ['int', '0', '0']
71+
'!!int 0x10': ['int', '16', '16']
72+
'!!int 0x2_0': ['int', '32', '32']
73+
'!!int 0x42': ['int', '66', '66']
74+
'!!int 0xa': ['int', '10', '10']
75+
'!!int 100_000': ['int', '100000', '100000']
76+
'!!int 190:20:30': ['int', '685230', '685230']
77+
'!!int 23': ['int', '23', '23']
78+
'!!null #empty': ['null', 'null()', "null"]
79+
'!!null NULL': ['null', 'null()', "null"]
80+
'!!null Null': ['null', 'null()', "null"]
81+
'!!null null': ['null', 'null()', 'null']
82+
'!!null ~': ['null', 'null()', 'null']
83+
'!!str #empty': ['str', '', "''"]
84+
'!!str +.INF': ['str', '+.INF', "'+.INF'"]
85+
'!!str +.Inf': ['str', '+.Inf', "'+.Inf'"]
86+
'!!str +.inf': ['str', '+.inf', "'+.inf'"]
87+
'!!str +0': ['str', '+0', "'+0'"]
88+
'!!str +0.3e+3': ['str', '+0.3e+3', "'+0.3e+3'"]
89+
'!!str +0.3e3': ['str', '+0.3e3', "+0.3e3"]
90+
'!!str +0100_200': ['str', '+0100_200', "'+0100_200'"]
91+
'!!str +0b100': ['str', '+0b100', "'+0b100'"]
92+
'!!str +190:20:30': ['str', '+190:20:30', "'+190:20:30'"]
93+
'!!str +23': ['str', '+23', "'+23'"]
94+
'!!str -.INF': ['str', '-.INF', "'-.INF'"]
95+
'!!str -.Inf': ['str', '-.Inf', "'-.Inf'"]
96+
'!!str -.inf': ['str', '-.inf', "'-.inf'"]
97+
'!!str -0': ['str', '-0', "'-0'"]
98+
'!!str -0100_200': ['str', '-0100_200', "'-0100_200'"]
99+
'!!str -0b101': ['str', '-0b101', "'-0b101'"]
100+
'!!str -0x30': ['str', '-0x30', "'-0x30'"]
101+
'!!str -190:20:30': ['str', '-190:20:30', "'-190:20:30'"]
102+
'!!str -23': ['str', '-23', "'-23'"]
103+
'!!str -3.14': ['str', '-3.14', "'-3.14'"]
104+
'!!str .': ['str', '.', '.']
105+
'!!str .0': ['str', '.0', "'.0'"]
106+
'!!str .14': ['str', '.14', "'.14'"]
107+
'!!str .1_4': ['str', '.1_4', "'.1_4'"]
108+
'!!str .3E-1': ['str', '.3E-1', "'.3E-1'"]
109+
'!!str .3e+3': ['str', '.3e+3', "'.3e+3'"]
110+
'!!str .3e3': ['str', '.3e3', ".3e3"]
111+
'!!str .INF': ['str', '.INF', "'.INF'"]
112+
'!!str .Inf': ['str', '.Inf', "'.Inf'"]
113+
'!!str .NAN': ['str', '.NAN', "'.NAN'"]
114+
'!!str .NaN': ['str', '.NaN', "'.NaN'"]
115+
'!!str ._': ['str', '._', '._']
116+
'!!str ._14': ['str', '._14', '._14']
117+
'!!str .inf': ['str', '.inf', "'.inf'"]
118+
'!!str .nan': ['str', '.nan', "'.nan'"]
119+
'!!str 0': ['str', '0', "'0'"]
120+
'!!str 0.0': ['str', '0.0', "'0.0'"]
121+
'!!str 0.3e3': ['str', '0.3e3', "0.3e3"]
122+
'!!str 00': ['str', '00', "'00'"]
123+
'!!str 001.23': ['str', '001.23', "'001.23'"]
124+
'!!str 0011': ['str', '0011', "'0011'"]
125+
'!!str 010': ['str', '010', "'010'"]
126+
'!!str 02_0': ['str', '02_0', "'02_0'"]
127+
'!!str 07': ['str', '07', "'07'"]
128+
'!!str 0b0': ['str', '0b0', "'0b0'"]
129+
'!!str 0b100_101': ['str', '0b100_101', "'0b100_101'"]
130+
'!!str 0o0': ['str', '0o0', "0o0"]
131+
'!!str 0o10': ['str', '0o10', "0o10"]
132+
'!!str 0o7': ['str', '0o7', "0o7"]
133+
'!!str 0x0': ['str', '0x0', "'0x0'"]
134+
'!!str 0x2_0': ['str', '0x2_0', "'0x2_0'"]
135+
'!!str 0xa': ['str', '0xa', "'0xa'"]
136+
'!!str 100_000': ['str', '100_000', "'100_000'"]
137+
'!!str 190:20:30': ['str', '190:20:30', "'190:20:30'"]
138+
'!!str 190:20:30.15': ['str', '190:20:30.15', "'190:20:30.15'"]
139+
'!!str 23': ['str', '23', "'23'"]
140+
'!!str 3.': ['str', '3.', "'3.'"]
141+
'!!str 3.14': ['str', '3.14', "'3.14'"]
142+
'!!str 3.3e+3': ['str', '3.3e+3', "'3.3e+3'"]
143+
'!!str 85.230_15e+03': ['str', '85.230_15e+03', "'85.230_15e+03'"]
144+
'!!str 85_230.15': ['str', '85_230.15', "'85_230.15'"]
145+
'!!str FALSE': ['str', 'FALSE', "'FALSE'"]
146+
'!!str False': ['str', 'False', "'False'"]
147+
'!!str N': ['str', 'N', "'N'"]
148+
'!!str NO': ['str', 'NO', "'NO'"]
149+
'!!str NULL': ['str', 'NULL', "'NULL'"]
150+
'!!str Null': ['str', 'Null', "'Null'"]
151+
'!!str OFF': ['str', 'OFF', "'OFF'"]
152+
'!!str ON': ['str', 'ON', "'ON'"]
153+
'!!str Off': ['str', 'Off', "'Off'"]
154+
'!!str On': ['str', 'On', "'On'"]
155+
'!!str TRUE': ['str', 'TRUE', "'TRUE'"]
156+
'!!str True': ['str', 'True', "'True'"]
157+
'!!str Y': ['str', 'Y', "'Y'"]
158+
'!!str YES': ['str', 'YES', "'YES'"]
159+
'!!str Yes': ['str', 'Yes', "'Yes'"]
160+
'!!str _._': ['str', '_._', '_._']
161+
'!!str false': ['str', 'false', "'false'"]
162+
'!!str n': ['str', 'n', "'n'"]
163+
'!!str no': ['str', 'no', "'no'"]
164+
'!!str null': ['str', 'null', "'null'"]
165+
'!!str off': ['str', 'off', "'off'"]
166+
'!!str on': ['str', 'on', "'on'"]
167+
'!!str true': ['str', 'true', "'true'"]
168+
'!!str y': ['str', 'y', "'y'"]
169+
'!!str yes': ['str', 'yes', "'yes'"]
170+
'!!str ~': ['str', '~', "'~'"]
171+
'#empty': ['null', 'null()', "null"]
172+
'+.INF': ['inf', 'inf()', '.inf']
173+
'+.Inf': ['inf', 'inf()', '.inf']
174+
'+.inf': ['inf', 'inf()', '.inf']
175+
'+0': ['int', '0', '0']
176+
'+0.3e+3': ['float', '300.0', '300.0']
177+
'+0.3e3': ['str', '+0.3e3', '+0.3e3']
178+
'+0100_200': ['int', '32896', '32896']
179+
'+0b100': ['int', '4', '4']
180+
'+190:20:30': ['int', '685230', '685230']
181+
'+23': ['int', '23', '23']
182+
'+3.14': ['float', '3.14', '3.14']
183+
'-.INF': ['inf', 'inf-neg()', '-.inf']
184+
'-.Inf': ['inf', 'inf-neg()', '-.inf']
185+
'-.inf': ['inf', 'inf-neg()', '-.inf']
186+
'-0': ['int', '0', '0']
187+
'-0100_200': ['int', '-32896', '-32896']
188+
'-0b101': ['int', '-5', '-5']
189+
'-0x30': ['int', '-48', '-48']
190+
'-190:20:30': ['int', '-685230', '-685230']
191+
'-23': ['int', '-23', '-23']
192+
'-3.14': ['float', '-3.14', '-3.14']
193+
'.': ['str', '.', '.']
194+
'.0': ['float', '0.0', '0.0']
195+
'.14': ['float', '0.14', '0.14']
196+
'.1_4': ['float', '0.14', '0.14']
197+
'.3E-1': ['float', '0.03', '0.03']
198+
'.3e+3': ['float', '300.0', '300.0']
199+
'.3e3': ['str', '.3e3', '.3e3']
200+
'.INF': ['inf', 'inf()', '.inf']
201+
'.Inf': ['inf', 'inf()', '.inf']
202+
'.NAN': ['nan', 'nan()', '.nan']
203+
'.NaN': ['nan', 'nan()', '.nan']
204+
'._': ['str', '._', '._']
205+
'._14': ['str', '._14', '._14']
206+
'.inf': ['inf', 'inf()', '.inf']
207+
'.nan': ['nan', 'nan()', '.nan']
208+
'0': ['int', '0', '0']
209+
'0.0': ['float', '0.0', '0.0']
210+
'0.3e3': ['str', '0.3e3', '0.3e3']
211+
'00': ['int', '0', '0']
212+
'001.23': ['float', '1.23', '1.23']
213+
'0011': ['int', '9', '9']
214+
'010': ['int', '8', '8']
215+
'02_0': ['int', '16', '16']
216+
'07': ['int', '7', '7']
217+
'08': ['str', '08', '08']
218+
'0b0': ['int', '0', '0']
219+
'0b100_101': ['int', '37', '37']
220+
'0o0': ['str', '0o0', '0o0']
221+
'0o10': ['str', '0o10', '0o10']
222+
'0o7': ['str', '0o7', '0o7']
223+
'0x0': ['int', '0', '0']
224+
'0x10': ['int', '16', '16']
225+
'0x2_0': ['int', '32', '32']
226+
'0x42': ['int', '66', '66']
227+
'0xa': ['int', '10', '10']
228+
'100_000': ['int', '100000', '100000']
229+
'190:20:30': ['int', '685230', '685230']
230+
'190:20:30.15': ['float', '685230.15', '685230.15']
231+
'23': ['int', '23', '23']
232+
'3.': ['float', '3.0', '3.0']
233+
'3.14': ['float', '3.14', '3.14']
234+
'3.3e+3': ['float', '3300', '3300.0']
235+
'3e3': ['str', '3e3', '3e3']
236+
'85.230_15e+03': ['float', '85230.15', '85230.15']
237+
'85_230.15': ['float', '85230.15', '85230.15']
238+
'FALSE': ['bool', 'false()', 'false']
239+
'False': ['bool', 'false()', 'false']
240+
'N': ['bool', 'false()', "false"]
241+
'NO': ['bool', 'false()', "false"]
242+
'NULL': ['null', 'null()', "null"]
243+
'Null': ['null', 'null()', "null"]
244+
'OFF': ['bool', 'false()', "false"]
245+
'ON': ['bool', 'true()', "true"]
246+
'Off': ['bool', 'false()', "false"]
247+
'On': ['bool', 'true()', "true"]
248+
'TRUE': ['bool', 'true()', 'true']
249+
'True': ['bool', 'true()', 'true']
250+
'Y': ['bool', 'true()', "true"]
251+
'YES': ['bool', 'true()', "true"]
252+
'Yes': ['bool', 'true()', "true"]
253+
'_._': ['str', '_._', '_._']
254+
'false': ['bool', 'false()', 'false']
255+
'n': ['bool', 'false()', "false"]
256+
'no': ['bool', 'false()', "false"]
257+
'null': ['null', 'null()', "null"]
258+
'off': ['bool', 'false()', "false"]
259+
'on': ['bool', 'true()', "true"]
260+
'true': ['bool', 'true()', 'true']
261+
'y': ['bool', 'true()', "true"]
262+
'yes': ['bool', 'true()', "true"]
263+
'~': ['null', 'null()', "null"]

tests/data/yaml11.schema-skip

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
load: {
2+
'Y': 1, 'y': 1, 'N': 1, 'n': 1,
3+
'!!bool Y': 1, '!!bool N': 1, '!!bool n': 1, '!!bool y': 1,
4+
'._', '!!str ._',
5+
'._14', '!!str ._14'
6+
}
7+
dump: {
8+
'!!str N': 1, '!!str Y': 1, '!!str n': 1, '!!str y': 1,
9+
}

0 commit comments

Comments
 (0)