• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#[test]
2fn test_ex2_1_seq_scalars() {
3    let mut v = str_to_test_events(EX2_1).into_iter();
4    assert_next!(v, TestEvent::OnDocumentStart);
5    assert_next!(v, TestEvent::OnSequenceStart);
6    assert_next!(v, TestEvent::OnScalar);
7    assert_next!(v, TestEvent::OnScalar);
8    assert_next!(v, TestEvent::OnScalar);
9    assert_next!(v, TestEvent::OnSequenceEnd);
10    assert_next!(v, TestEvent::OnDocumentEnd);
11}
12
13#[test]
14fn test_ex2_2_mapping_scalars_to_scalars() {
15    let mut v = str_to_test_events(EX2_2).into_iter();
16    assert_next!(v, TestEvent::OnDocumentStart);
17    assert_next!(v, TestEvent::OnMapStart);
18    assert_next!(v, TestEvent::OnScalar);
19    assert_next!(v, TestEvent::OnScalar);
20    assert_next!(v, TestEvent::OnScalar);
21    assert_next!(v, TestEvent::OnScalar);
22    assert_next!(v, TestEvent::OnScalar);
23    assert_next!(v, TestEvent::OnScalar);
24    assert_next!(v, TestEvent::OnMapEnd);
25    assert_next!(v, TestEvent::OnDocumentEnd);
26}
27
28#[test]
29fn test_ex2_3_mapping_scalars_to_sequences() {
30    let mut v = str_to_test_events(EX2_3).into_iter();
31    assert_next!(v, TestEvent::OnDocumentStart);
32    assert_next!(v, TestEvent::OnMapStart);
33    assert_next!(v, TestEvent::OnScalar);
34    assert_next!(v, TestEvent::OnSequenceStart);
35    assert_next!(v, TestEvent::OnScalar);
36    assert_next!(v, TestEvent::OnScalar);
37    assert_next!(v, TestEvent::OnScalar);
38    assert_next!(v, TestEvent::OnSequenceEnd);
39    assert_next!(v, TestEvent::OnScalar);
40    assert_next!(v, TestEvent::OnSequenceStart);
41    assert_next!(v, TestEvent::OnScalar);
42    assert_next!(v, TestEvent::OnScalar);
43    assert_next!(v, TestEvent::OnScalar);
44    assert_next!(v, TestEvent::OnSequenceEnd);
45    assert_next!(v, TestEvent::OnMapEnd);
46    assert_next!(v, TestEvent::OnDocumentEnd);
47}
48
49#[test]
50fn test_ex2_4_sequence_of_mappings() {
51    let mut v = str_to_test_events(EX2_4).into_iter();
52    assert_next!(v, TestEvent::OnDocumentStart);
53    assert_next!(v, TestEvent::OnSequenceStart);
54    assert_next!(v, TestEvent::OnMapStart);
55    assert_next!(v, TestEvent::OnScalar);
56    assert_next!(v, TestEvent::OnScalar);
57    assert_next!(v, TestEvent::OnScalar);
58    assert_next!(v, TestEvent::OnScalar);
59    assert_next!(v, TestEvent::OnScalar);
60    assert_next!(v, TestEvent::OnScalar);
61    assert_next!(v, TestEvent::OnMapEnd);
62    assert_next!(v, TestEvent::OnMapStart);
63    assert_next!(v, TestEvent::OnScalar);
64    assert_next!(v, TestEvent::OnScalar);
65    assert_next!(v, TestEvent::OnScalar);
66    assert_next!(v, TestEvent::OnScalar);
67    assert_next!(v, TestEvent::OnScalar);
68    assert_next!(v, TestEvent::OnScalar);
69    assert_next!(v, TestEvent::OnMapEnd);
70    assert_next!(v, TestEvent::OnSequenceEnd);
71    assert_next!(v, TestEvent::OnDocumentEnd);
72}
73
74#[test]
75fn test_ex2_5_sequence_of_sequences() {
76    let mut v = str_to_test_events(EX2_5).into_iter();
77    assert_next!(v, TestEvent::OnDocumentStart);
78    assert_next!(v, TestEvent::OnSequenceStart);
79    assert_next!(v, TestEvent::OnSequenceStart);
80    assert_next!(v, TestEvent::OnScalar);
81    assert_next!(v, TestEvent::OnScalar);
82    assert_next!(v, TestEvent::OnScalar);
83    assert_next!(v, TestEvent::OnSequenceEnd);
84    assert_next!(v, TestEvent::OnSequenceStart);
85    assert_next!(v, TestEvent::OnScalar);
86    assert_next!(v, TestEvent::OnScalar);
87    assert_next!(v, TestEvent::OnScalar);
88    assert_next!(v, TestEvent::OnSequenceEnd);
89    assert_next!(v, TestEvent::OnSequenceStart);
90    assert_next!(v, TestEvent::OnScalar);
91    assert_next!(v, TestEvent::OnScalar);
92    assert_next!(v, TestEvent::OnScalar);
93    assert_next!(v, TestEvent::OnSequenceEnd);
94    assert_next!(v, TestEvent::OnSequenceEnd);
95    assert_next!(v, TestEvent::OnDocumentEnd);
96}
97
98#[test]
99fn test_ex2_6_mapping_of_mappings() {
100    let mut v = str_to_test_events(EX2_6).into_iter();
101    assert_next!(v, TestEvent::OnDocumentStart);
102    assert_next!(v, TestEvent::OnMapStart);
103    assert_next!(v, TestEvent::OnScalar);
104    assert_next!(v, TestEvent::OnMapStart);
105    assert_next!(v, TestEvent::OnScalar);
106    assert_next!(v, TestEvent::OnScalar);
107    assert_next!(v, TestEvent::OnScalar);
108    assert_next!(v, TestEvent::OnScalar);
109    assert_next!(v, TestEvent::OnMapEnd);
110    assert_next!(v, TestEvent::OnScalar);
111    assert_next!(v, TestEvent::OnMapStart);
112    assert_next!(v, TestEvent::OnScalar);
113    assert_next!(v, TestEvent::OnScalar);
114    assert_next!(v, TestEvent::OnScalar);
115    assert_next!(v, TestEvent::OnScalar);
116    assert_next!(v, TestEvent::OnMapEnd);
117    assert_next!(v, TestEvent::OnMapEnd);
118    assert_next!(v, TestEvent::OnDocumentEnd);
119}
120
121#[test]
122fn test_ex2_7_two_documents_in_a_stream() {
123    let mut v = str_to_test_events(EX2_7).into_iter();
124    assert_next!(v, TestEvent::OnDocumentStart);
125    assert_next!(v, TestEvent::OnSequenceStart);
126    assert_next!(v, TestEvent::OnScalar);
127    assert_next!(v, TestEvent::OnScalar);
128    assert_next!(v, TestEvent::OnScalar);
129    assert_next!(v, TestEvent::OnSequenceEnd);
130    assert_next!(v, TestEvent::OnDocumentEnd);
131    assert_next!(v, TestEvent::OnDocumentStart);
132    assert_next!(v, TestEvent::OnSequenceStart);
133    assert_next!(v, TestEvent::OnScalar);
134    assert_next!(v, TestEvent::OnScalar);
135    assert_next!(v, TestEvent::OnSequenceEnd);
136    assert_next!(v, TestEvent::OnDocumentEnd);
137}
138
139#[test]
140fn test_ex2_8_play_by_play_feed() {
141    let mut v = str_to_test_events(EX2_8).into_iter();
142    assert_next!(v, TestEvent::OnDocumentStart);
143    assert_next!(v, TestEvent::OnMapStart);
144    assert_next!(v, TestEvent::OnScalar);
145    assert_next!(v, TestEvent::OnScalar);
146    assert_next!(v, TestEvent::OnScalar);
147    assert_next!(v, TestEvent::OnScalar);
148    assert_next!(v, TestEvent::OnScalar);
149    assert_next!(v, TestEvent::OnScalar);
150    assert_next!(v, TestEvent::OnMapEnd);
151    assert_next!(v, TestEvent::OnDocumentEnd);
152    assert_next!(v, TestEvent::OnDocumentStart);
153    assert_next!(v, TestEvent::OnMapStart);
154    assert_next!(v, TestEvent::OnScalar);
155    assert_next!(v, TestEvent::OnScalar);
156    assert_next!(v, TestEvent::OnScalar);
157    assert_next!(v, TestEvent::OnScalar);
158    assert_next!(v, TestEvent::OnScalar);
159    assert_next!(v, TestEvent::OnScalar);
160    assert_next!(v, TestEvent::OnMapEnd);
161    assert_next!(v, TestEvent::OnDocumentEnd);
162}
163
164#[test]
165fn test_ex2_9_single_document_with_two_comments() {
166    let mut v = str_to_test_events(EX2_9).into_iter();
167    assert_next!(v, TestEvent::OnDocumentStart);
168    assert_next!(v, TestEvent::OnMapStart);
169    assert_next!(v, TestEvent::OnScalar);
170    assert_next!(v, TestEvent::OnSequenceStart);
171    assert_next!(v, TestEvent::OnScalar);
172    assert_next!(v, TestEvent::OnScalar);
173    assert_next!(v, TestEvent::OnSequenceEnd);
174    assert_next!(v, TestEvent::OnScalar);
175    assert_next!(v, TestEvent::OnSequenceStart);
176    assert_next!(v, TestEvent::OnScalar);
177    assert_next!(v, TestEvent::OnScalar);
178    assert_next!(v, TestEvent::OnSequenceEnd);
179    assert_next!(v, TestEvent::OnMapEnd);
180    assert_next!(v, TestEvent::OnDocumentEnd);
181}
182
183#[test]
184fn test_ex2_10_simple_anchor() {
185    let mut v = str_to_test_events(EX2_10).into_iter();
186    assert_next!(v, TestEvent::OnDocumentStart);
187    assert_next!(v, TestEvent::OnMapStart);
188    assert_next!(v, TestEvent::OnScalar);
189    assert_next!(v, TestEvent::OnSequenceStart);
190    assert_next!(v, TestEvent::OnScalar);
191    assert_next!(v, TestEvent::OnScalar);
192    assert_next!(v, TestEvent::OnSequenceEnd);
193    assert_next!(v, TestEvent::OnScalar);
194    assert_next!(v, TestEvent::OnSequenceStart);
195    assert_next!(v, TestEvent::OnAlias);
196    assert_next!(v, TestEvent::OnScalar);
197    assert_next!(v, TestEvent::OnSequenceEnd);
198    assert_next!(v, TestEvent::OnMapEnd);
199    assert_next!(v, TestEvent::OnDocumentEnd);
200}
201
202#[test]
203fn test_ex2_11_mapping_between_sequences() {
204    let mut v = str_to_test_events(EX2_11).into_iter();
205    assert_next!(v, TestEvent::OnDocumentStart);
206    assert_next!(v, TestEvent::OnMapStart);
207    assert_next!(v, TestEvent::OnSequenceStart);
208    assert_next!(v, TestEvent::OnScalar);
209    assert_next!(v, TestEvent::OnScalar);
210    assert_next!(v, TestEvent::OnSequenceEnd);
211    assert_next!(v, TestEvent::OnSequenceStart);
212    assert_next!(v, TestEvent::OnScalar);
213    assert_next!(v, TestEvent::OnSequenceEnd);
214    assert_next!(v, TestEvent::OnSequenceStart);
215    assert_next!(v, TestEvent::OnScalar);
216    assert_next!(v, TestEvent::OnScalar);
217    assert_next!(v, TestEvent::OnSequenceEnd);
218    assert_next!(v, TestEvent::OnSequenceStart);
219    assert_next!(v, TestEvent::OnScalar);
220    assert_next!(v, TestEvent::OnScalar);
221    assert_next!(v, TestEvent::OnScalar);
222    assert_next!(v, TestEvent::OnSequenceEnd);
223    assert_next!(v, TestEvent::OnMapEnd);
224    assert_next!(v, TestEvent::OnDocumentEnd);
225}
226
227#[test]
228fn test_ex2_12_compact_nested_mapping() {
229    let mut v = str_to_test_events(EX2_12).into_iter();
230    assert_next!(v, TestEvent::OnDocumentStart);
231    assert_next!(v, TestEvent::OnSequenceStart);
232    assert_next!(v, TestEvent::OnMapStart);
233    assert_next!(v, TestEvent::OnScalar);
234    assert_next!(v, TestEvent::OnScalar);
235    assert_next!(v, TestEvent::OnScalar);
236    assert_next!(v, TestEvent::OnScalar);
237    assert_next!(v, TestEvent::OnMapEnd);
238    assert_next!(v, TestEvent::OnMapStart);
239    assert_next!(v, TestEvent::OnScalar);
240    assert_next!(v, TestEvent::OnScalar);
241    assert_next!(v, TestEvent::OnScalar);
242    assert_next!(v, TestEvent::OnScalar);
243    assert_next!(v, TestEvent::OnMapEnd);
244    assert_next!(v, TestEvent::OnMapStart);
245    assert_next!(v, TestEvent::OnScalar);
246    assert_next!(v, TestEvent::OnScalar);
247    assert_next!(v, TestEvent::OnScalar);
248    assert_next!(v, TestEvent::OnScalar);
249    assert_next!(v, TestEvent::OnMapEnd);
250    assert_next!(v, TestEvent::OnSequenceEnd);
251    assert_next!(v, TestEvent::OnDocumentEnd);
252}
253
254#[test]
255fn test_ex2_13_in_literals_newlines_are_preserved() {
256    let mut v = str_to_test_events(EX2_13).into_iter();
257    assert_next!(v, TestEvent::OnDocumentStart);
258    assert_next!(v, TestEvent::OnScalar);
259    assert_next!(v, TestEvent::OnDocumentEnd);
260}
261
262#[test]
263fn test_ex2_14_in_folded_scalars_newlines_become_spaces() {
264    let mut v = str_to_test_events(EX2_14).into_iter();
265    assert_next!(v, TestEvent::OnDocumentStart);
266    assert_next!(v, TestEvent::OnScalar);
267    assert_next!(v, TestEvent::OnDocumentEnd);
268}
269
270#[test]
271fn test_ex2_15_folded_newlines_are_preserved_for_more_indented_and_blank_lines() {
272    let mut v = str_to_test_events(EX2_15).into_iter();
273    assert_next!(v, TestEvent::OnDocumentStart);
274    assert_next!(v, TestEvent::OnScalar);
275    assert_next!(v, TestEvent::OnDocumentEnd);
276}
277
278#[test]
279fn test_ex2_16_indentation_determines_scope() {
280    let mut v = str_to_test_events(EX2_16).into_iter();
281    assert_next!(v, TestEvent::OnDocumentStart);
282    assert_next!(v, TestEvent::OnMapStart);
283    assert_next!(v, TestEvent::OnScalar);
284    assert_next!(v, TestEvent::OnScalar);
285    assert_next!(v, TestEvent::OnScalar);
286    assert_next!(v, TestEvent::OnScalar);
287    assert_next!(v, TestEvent::OnScalar);
288    assert_next!(v, TestEvent::OnScalar);
289    assert_next!(v, TestEvent::OnMapEnd);
290    assert_next!(v, TestEvent::OnDocumentEnd);
291}
292
293#[test]
294fn test_ex2_17_quoted_scalars() {
295    let mut v = str_to_test_events(EX2_17).into_iter();
296    assert_next!(v, TestEvent::OnDocumentStart);
297    assert_next!(v, TestEvent::OnMapStart);
298    assert_next!(v, TestEvent::OnScalar);
299    assert_next!(v, TestEvent::OnScalar);
300    assert_next!(v, TestEvent::OnScalar);
301    assert_next!(v, TestEvent::OnScalar);
302    assert_next!(v, TestEvent::OnScalar);
303    assert_next!(v, TestEvent::OnScalar);
304    assert_next!(v, TestEvent::OnScalar);
305    assert_next!(v, TestEvent::OnScalar);
306    assert_next!(v, TestEvent::OnScalar);
307    assert_next!(v, TestEvent::OnScalar);
308    assert_next!(v, TestEvent::OnScalar);
309    assert_next!(v, TestEvent::OnScalar);
310    assert_next!(v, TestEvent::OnMapEnd);
311    assert_next!(v, TestEvent::OnDocumentEnd);
312}
313
314#[test]
315fn test_ex2_18_multi_line_flow_scalars() {
316    let mut v = str_to_test_events(EX2_18).into_iter();
317    assert_next!(v, TestEvent::OnDocumentStart);
318    assert_next!(v, TestEvent::OnMapStart);
319    assert_next!(v, TestEvent::OnScalar);
320    assert_next!(v, TestEvent::OnScalar);
321    assert_next!(v, TestEvent::OnScalar);
322    assert_next!(v, TestEvent::OnScalar);
323    assert_next!(v, TestEvent::OnMapEnd);
324    assert_next!(v, TestEvent::OnDocumentEnd);
325}
326
327#[test]
328fn test_ex2_23_various_explicit_tags() {
329    let mut v = str_to_test_events(EX2_23).into_iter();
330    assert_next!(v, TestEvent::OnDocumentStart);
331    assert_next!(v, TestEvent::OnMapStart);
332    assert_next!(v, TestEvent::OnScalar);
333    assert_next!(v, TestEvent::OnScalar);
334    assert_next!(v, TestEvent::OnScalar);
335    assert_next!(v, TestEvent::OnScalar);
336    assert_next!(v, TestEvent::OnScalar);
337    assert_next!(v, TestEvent::OnScalar);
338    assert_next!(v, TestEvent::OnMapEnd);
339    assert_next!(v, TestEvent::OnDocumentEnd);
340}
341
342#[test]
343fn test_ex2_24_global_tags() {
344    let mut v = str_to_test_events(EX2_24).into_iter();
345    assert_next!(v, TestEvent::OnDocumentStart);
346    assert_next!(v, TestEvent::OnSequenceStart);
347    assert_next!(v, TestEvent::OnMapStart);
348    assert_next!(v, TestEvent::OnScalar);
349    assert_next!(v, TestEvent::OnMapStart);
350    assert_next!(v, TestEvent::OnScalar);
351    assert_next!(v, TestEvent::OnScalar);
352    assert_next!(v, TestEvent::OnScalar);
353    assert_next!(v, TestEvent::OnScalar);
354    assert_next!(v, TestEvent::OnMapEnd);
355    assert_next!(v, TestEvent::OnScalar);
356    assert_next!(v, TestEvent::OnScalar);
357    assert_next!(v, TestEvent::OnMapEnd);
358    assert_next!(v, TestEvent::OnMapStart);
359    assert_next!(v, TestEvent::OnScalar);
360    assert_next!(v, TestEvent::OnAlias);
361    assert_next!(v, TestEvent::OnScalar);
362    assert_next!(v, TestEvent::OnMapStart);
363    assert_next!(v, TestEvent::OnScalar);
364    assert_next!(v, TestEvent::OnScalar);
365    assert_next!(v, TestEvent::OnScalar);
366    assert_next!(v, TestEvent::OnScalar);
367    assert_next!(v, TestEvent::OnMapEnd);
368    assert_next!(v, TestEvent::OnMapEnd);
369    assert_next!(v, TestEvent::OnMapStart);
370    assert_next!(v, TestEvent::OnScalar);
371    assert_next!(v, TestEvent::OnAlias);
372    assert_next!(v, TestEvent::OnScalar);
373    assert_next!(v, TestEvent::OnScalar);
374    assert_next!(v, TestEvent::OnScalar);
375    assert_next!(v, TestEvent::OnScalar);
376    assert_next!(v, TestEvent::OnMapEnd);
377    assert_next!(v, TestEvent::OnSequenceEnd);
378    assert_next!(v, TestEvent::OnDocumentEnd);
379}
380
381#[test]
382fn test_ex2_25_unordered_sets() {
383    let mut v = str_to_test_events(EX2_25).into_iter();
384    assert_next!(v, TestEvent::OnDocumentStart);
385    assert_next!(v, TestEvent::OnMapStart);
386    assert_next!(v, TestEvent::OnScalar);
387    assert_next!(v, TestEvent::OnNull);
388    assert_next!(v, TestEvent::OnScalar);
389    assert_next!(v, TestEvent::OnNull);
390    assert_next!(v, TestEvent::OnScalar);
391    assert_next!(v, TestEvent::OnNull);
392    assert_next!(v, TestEvent::OnMapEnd);
393    assert_next!(v, TestEvent::OnDocumentEnd);
394}
395
396#[test]
397fn test_ex2_26_ordered_mappings() {
398    let mut v = str_to_test_events(EX2_26).into_iter();
399    assert_next!(v, TestEvent::OnDocumentStart);
400    assert_next!(v, TestEvent::OnSequenceStart);
401    assert_next!(v, TestEvent::OnMapStart);
402    assert_next!(v, TestEvent::OnScalar);
403    assert_next!(v, TestEvent::OnScalar);
404    assert_next!(v, TestEvent::OnMapEnd);
405    assert_next!(v, TestEvent::OnMapStart);
406    assert_next!(v, TestEvent::OnScalar);
407    assert_next!(v, TestEvent::OnScalar);
408    assert_next!(v, TestEvent::OnMapEnd);
409    assert_next!(v, TestEvent::OnMapStart);
410    assert_next!(v, TestEvent::OnScalar);
411    assert_next!(v, TestEvent::OnScalar);
412    assert_next!(v, TestEvent::OnMapEnd);
413    assert_next!(v, TestEvent::OnSequenceEnd);
414    assert_next!(v, TestEvent::OnDocumentEnd);
415}
416
417#[test]
418fn test_ex2_27_invoice() {
419    let mut v = str_to_test_events(EX2_27).into_iter();
420    assert_next!(v, TestEvent::OnDocumentStart);
421    assert_next!(v, TestEvent::OnMapStart);
422    assert_next!(v, TestEvent::OnScalar);
423    assert_next!(v, TestEvent::OnScalar);
424    assert_next!(v, TestEvent::OnScalar);
425    assert_next!(v, TestEvent::OnScalar);
426    assert_next!(v, TestEvent::OnScalar);
427    assert_next!(v, TestEvent::OnMapStart);
428    assert_next!(v, TestEvent::OnScalar);
429    assert_next!(v, TestEvent::OnScalar);
430    assert_next!(v, TestEvent::OnScalar);
431    assert_next!(v, TestEvent::OnScalar);
432    assert_next!(v, TestEvent::OnScalar);
433    assert_next!(v, TestEvent::OnMapStart);
434    assert_next!(v, TestEvent::OnScalar);
435    assert_next!(v, TestEvent::OnScalar);
436    assert_next!(v, TestEvent::OnScalar);
437    assert_next!(v, TestEvent::OnScalar);
438    assert_next!(v, TestEvent::OnScalar);
439    assert_next!(v, TestEvent::OnScalar);
440    assert_next!(v, TestEvent::OnScalar);
441    assert_next!(v, TestEvent::OnScalar);
442    assert_next!(v, TestEvent::OnMapEnd);
443    assert_next!(v, TestEvent::OnMapEnd);
444    assert_next!(v, TestEvent::OnScalar);
445    assert_next!(v, TestEvent::OnAlias);
446    assert_next!(v, TestEvent::OnScalar);
447    assert_next!(v, TestEvent::OnSequenceStart);
448    assert_next!(v, TestEvent::OnMapStart);
449    assert_next!(v, TestEvent::OnScalar);
450    assert_next!(v, TestEvent::OnScalar);
451    assert_next!(v, TestEvent::OnScalar);
452    assert_next!(v, TestEvent::OnScalar);
453    assert_next!(v, TestEvent::OnScalar);
454    assert_next!(v, TestEvent::OnScalar);
455    assert_next!(v, TestEvent::OnScalar);
456    assert_next!(v, TestEvent::OnScalar);
457    assert_next!(v, TestEvent::OnMapEnd);
458    assert_next!(v, TestEvent::OnMapStart);
459    assert_next!(v, TestEvent::OnScalar);
460    assert_next!(v, TestEvent::OnScalar);
461    assert_next!(v, TestEvent::OnScalar);
462    assert_next!(v, TestEvent::OnScalar);
463    assert_next!(v, TestEvent::OnScalar);
464    assert_next!(v, TestEvent::OnScalar);
465    assert_next!(v, TestEvent::OnScalar);
466    assert_next!(v, TestEvent::OnScalar);
467    assert_next!(v, TestEvent::OnMapEnd);
468    assert_next!(v, TestEvent::OnSequenceEnd);
469    assert_next!(v, TestEvent::OnScalar);
470    assert_next!(v, TestEvent::OnScalar);
471    assert_next!(v, TestEvent::OnScalar);
472    assert_next!(v, TestEvent::OnScalar);
473    assert_next!(v, TestEvent::OnScalar);
474    assert_next!(v, TestEvent::OnScalar);
475    assert_next!(v, TestEvent::OnMapEnd);
476    assert_next!(v, TestEvent::OnDocumentEnd);
477}
478
479#[test]
480fn test_ex2_28_log_file() {
481    let mut v = str_to_test_events(EX2_28).into_iter();
482    assert_next!(v, TestEvent::OnDocumentStart);
483    assert_next!(v, TestEvent::OnMapStart);
484    assert_next!(v, TestEvent::OnScalar);
485    assert_next!(v, TestEvent::OnScalar);
486    assert_next!(v, TestEvent::OnScalar);
487    assert_next!(v, TestEvent::OnScalar);
488    assert_next!(v, TestEvent::OnScalar);
489    assert_next!(v, TestEvent::OnScalar);
490    assert_next!(v, TestEvent::OnMapEnd);
491    assert_next!(v, TestEvent::OnDocumentEnd);
492    assert_next!(v, TestEvent::OnDocumentStart);
493    assert_next!(v, TestEvent::OnMapStart);
494    assert_next!(v, TestEvent::OnScalar);
495    assert_next!(v, TestEvent::OnScalar);
496    assert_next!(v, TestEvent::OnScalar);
497    assert_next!(v, TestEvent::OnScalar);
498    assert_next!(v, TestEvent::OnScalar);
499    assert_next!(v, TestEvent::OnScalar);
500    assert_next!(v, TestEvent::OnMapEnd);
501    assert_next!(v, TestEvent::OnDocumentEnd);
502    assert_next!(v, TestEvent::OnDocumentStart);
503    assert_next!(v, TestEvent::OnMapStart);
504    assert_next!(v, TestEvent::OnScalar);
505    assert_next!(v, TestEvent::OnScalar);
506    assert_next!(v, TestEvent::OnScalar);
507    assert_next!(v, TestEvent::OnScalar);
508    assert_next!(v, TestEvent::OnScalar);
509    assert_next!(v, TestEvent::OnScalar);
510    assert_next!(v, TestEvent::OnScalar);
511    assert_next!(v, TestEvent::OnSequenceStart);
512    assert_next!(v, TestEvent::OnMapStart);
513    assert_next!(v, TestEvent::OnScalar);
514    assert_next!(v, TestEvent::OnScalar);
515    assert_next!(v, TestEvent::OnScalar);
516    assert_next!(v, TestEvent::OnScalar);
517    assert_next!(v, TestEvent::OnScalar);
518    assert_next!(v, TestEvent::OnScalar);
519    assert_next!(v, TestEvent::OnMapEnd);
520    assert_next!(v, TestEvent::OnMapStart);
521    assert_next!(v, TestEvent::OnScalar);
522    assert_next!(v, TestEvent::OnScalar);
523    assert_next!(v, TestEvent::OnScalar);
524    assert_next!(v, TestEvent::OnScalar);
525    assert_next!(v, TestEvent::OnScalar);
526    assert_next!(v, TestEvent::OnScalar);
527    assert_next!(v, TestEvent::OnMapEnd);
528    assert_next!(v, TestEvent::OnSequenceEnd);
529    assert_next!(v, TestEvent::OnMapEnd);
530    assert_next!(v, TestEvent::OnDocumentEnd);
531}
532
533#[test]
534fn test_ex5_3_block_structure_indicators() {
535    let mut v = str_to_test_events(EX5_3).into_iter();
536    assert_next!(v, TestEvent::OnDocumentStart);
537    assert_next!(v, TestEvent::OnMapStart);
538    assert_next!(v, TestEvent::OnScalar);
539    assert_next!(v, TestEvent::OnSequenceStart);
540    assert_next!(v, TestEvent::OnScalar);
541    assert_next!(v, TestEvent::OnScalar);
542    assert_next!(v, TestEvent::OnSequenceEnd);
543    assert_next!(v, TestEvent::OnScalar);
544    assert_next!(v, TestEvent::OnMapStart);
545    assert_next!(v, TestEvent::OnScalar);
546    assert_next!(v, TestEvent::OnScalar);
547    assert_next!(v, TestEvent::OnScalar);
548    assert_next!(v, TestEvent::OnScalar);
549    assert_next!(v, TestEvent::OnMapEnd);
550    assert_next!(v, TestEvent::OnMapEnd);
551    assert_next!(v, TestEvent::OnDocumentEnd);
552}
553
554#[test]
555fn test_ex5_4_flow_structure_indicators() {
556    let mut v = str_to_test_events(EX5_4).into_iter();
557    assert_next!(v, TestEvent::OnDocumentStart);
558    assert_next!(v, TestEvent::OnMapStart);
559    assert_next!(v, TestEvent::OnScalar);
560    assert_next!(v, TestEvent::OnSequenceStart);
561    assert_next!(v, TestEvent::OnScalar);
562    assert_next!(v, TestEvent::OnScalar);
563    assert_next!(v, TestEvent::OnSequenceEnd);
564    assert_next!(v, TestEvent::OnScalar);
565    assert_next!(v, TestEvent::OnMapStart);
566    assert_next!(v, TestEvent::OnScalar);
567    assert_next!(v, TestEvent::OnScalar);
568    assert_next!(v, TestEvent::OnScalar);
569    assert_next!(v, TestEvent::OnScalar);
570    assert_next!(v, TestEvent::OnMapEnd);
571    assert_next!(v, TestEvent::OnMapEnd);
572    assert_next!(v, TestEvent::OnDocumentEnd);
573}
574
575#[test]
576fn test_ex5_6_node_property_indicators() {
577    let mut v = str_to_test_events(EX5_6).into_iter();
578    assert_next!(v, TestEvent::OnDocumentStart);
579    assert_next!(v, TestEvent::OnMapStart);
580    assert_next!(v, TestEvent::OnScalar);
581    assert_next!(v, TestEvent::OnScalar);
582    assert_next!(v, TestEvent::OnScalar);
583    assert_next!(v, TestEvent::OnAlias);
584    assert_next!(v, TestEvent::OnMapEnd);
585    assert_next!(v, TestEvent::OnDocumentEnd);
586}
587
588#[test]
589fn test_ex5_7_block_scalar_indicators() {
590    let mut v = str_to_test_events(EX5_7).into_iter();
591    assert_next!(v, TestEvent::OnDocumentStart);
592    assert_next!(v, TestEvent::OnMapStart);
593    assert_next!(v, TestEvent::OnScalar);
594    assert_next!(v, TestEvent::OnScalar);
595    assert_next!(v, TestEvent::OnScalar);
596    assert_next!(v, TestEvent::OnScalar);
597    assert_next!(v, TestEvent::OnMapEnd);
598    assert_next!(v, TestEvent::OnDocumentEnd);
599}
600
601#[test]
602fn test_ex5_8_quoted_scalar_indicators() {
603    let mut v = str_to_test_events(EX5_8).into_iter();
604    assert_next!(v, TestEvent::OnDocumentStart);
605    assert_next!(v, TestEvent::OnMapStart);
606    assert_next!(v, TestEvent::OnScalar);
607    assert_next!(v, TestEvent::OnScalar);
608    assert_next!(v, TestEvent::OnScalar);
609    assert_next!(v, TestEvent::OnScalar);
610    assert_next!(v, TestEvent::OnMapEnd);
611    assert_next!(v, TestEvent::OnDocumentEnd);
612}
613
614#[test]
615fn test_ex5_11_line_break_characters() {
616    let mut v = str_to_test_events(EX5_11).into_iter();
617    assert_next!(v, TestEvent::OnDocumentStart);
618    assert_next!(v, TestEvent::OnScalar);
619    assert_next!(v, TestEvent::OnDocumentEnd);
620}
621
622#[test]
623fn test_ex5_12_tabs_and_spaces() {
624    let mut v = str_to_test_events(EX5_12).into_iter();
625    assert_next!(v, TestEvent::OnDocumentStart);
626    assert_next!(v, TestEvent::OnMapStart);
627    assert_next!(v, TestEvent::OnScalar);
628    assert_next!(v, TestEvent::OnScalar);
629    assert_next!(v, TestEvent::OnScalar);
630    assert_next!(v, TestEvent::OnScalar);
631    assert_next!(v, TestEvent::OnMapEnd);
632    assert_next!(v, TestEvent::OnDocumentEnd);
633}
634
635#[test]
636fn test_ex5_13_escaped_characters() {
637    let mut v = str_to_test_events(EX5_13).into_iter();
638    assert_next!(v, TestEvent::OnDocumentStart);
639    assert_next!(v, TestEvent::OnScalar);
640    assert_next!(v, TestEvent::OnDocumentEnd);
641}
642
643#[test]
644fn test_ex6_1_indentation_spaces() {
645    let mut v = str_to_test_events(EX6_1).into_iter();
646    assert_next!(v, TestEvent::OnDocumentStart);
647    assert_next!(v, TestEvent::OnMapStart);
648    assert_next!(v, TestEvent::OnScalar);
649    assert_next!(v, TestEvent::OnMapStart);
650    assert_next!(v, TestEvent::OnScalar);
651    assert_next!(v, TestEvent::OnScalar);
652    assert_next!(v, TestEvent::OnScalar);
653    assert_next!(v, TestEvent::OnSequenceStart);
654    assert_next!(v, TestEvent::OnScalar);
655    assert_next!(v, TestEvent::OnScalar);
656    assert_next!(v, TestEvent::OnScalar);
657    assert_next!(v, TestEvent::OnSequenceEnd);
658    assert_next!(v, TestEvent::OnMapEnd);
659    assert_next!(v, TestEvent::OnMapEnd);
660    assert_next!(v, TestEvent::OnDocumentEnd);
661}
662
663#[test]
664fn test_ex6_2_indentation_indicators() {
665    let mut v = str_to_test_events(EX6_2).into_iter();
666    assert_next!(v, TestEvent::OnDocumentStart);
667    assert_next!(v, TestEvent::OnMapStart);
668    assert_next!(v, TestEvent::OnScalar);
669    assert_next!(v, TestEvent::OnSequenceStart);
670    assert_next!(v, TestEvent::OnScalar);
671    assert_next!(v, TestEvent::OnSequenceStart);
672    assert_next!(v, TestEvent::OnScalar);
673    assert_next!(v, TestEvent::OnScalar);
674    assert_next!(v, TestEvent::OnSequenceEnd);
675    assert_next!(v, TestEvent::OnSequenceEnd);
676    assert_next!(v, TestEvent::OnMapEnd);
677    assert_next!(v, TestEvent::OnDocumentEnd);
678}
679
680#[test]
681fn test_ex6_3_separation_spaces() {
682    let mut v = str_to_test_events(EX6_3).into_iter();
683    assert_next!(v, TestEvent::OnDocumentStart);
684    assert_next!(v, TestEvent::OnSequenceStart);
685    assert_next!(v, TestEvent::OnMapStart);
686    assert_next!(v, TestEvent::OnScalar);
687    assert_next!(v, TestEvent::OnScalar);
688    assert_next!(v, TestEvent::OnMapEnd);
689    assert_next!(v, TestEvent::OnSequenceStart);
690    assert_next!(v, TestEvent::OnScalar);
691    assert_next!(v, TestEvent::OnScalar);
692    assert_next!(v, TestEvent::OnSequenceEnd);
693    assert_next!(v, TestEvent::OnSequenceEnd);
694    assert_next!(v, TestEvent::OnDocumentEnd);
695}
696
697#[test]
698fn test_ex6_4_line_prefixes() {
699    let mut v = str_to_test_events(EX6_4).into_iter();
700    assert_next!(v, TestEvent::OnDocumentStart);
701    assert_next!(v, TestEvent::OnMapStart);
702    assert_next!(v, TestEvent::OnScalar);
703    assert_next!(v, TestEvent::OnScalar);
704    assert_next!(v, TestEvent::OnScalar);
705    assert_next!(v, TestEvent::OnScalar);
706    assert_next!(v, TestEvent::OnScalar);
707    assert_next!(v, TestEvent::OnScalar);
708    assert_next!(v, TestEvent::OnMapEnd);
709    assert_next!(v, TestEvent::OnDocumentEnd);
710}
711
712#[test]
713fn test_ex6_5_empty_lines() {
714    let mut v = str_to_test_events(EX6_5).into_iter();
715    assert_next!(v, TestEvent::OnDocumentStart);
716    assert_next!(v, TestEvent::OnMapStart);
717    assert_next!(v, TestEvent::OnScalar);
718    assert_next!(v, TestEvent::OnScalar);
719    assert_next!(v, TestEvent::OnScalar);
720    assert_next!(v, TestEvent::OnScalar);
721    assert_next!(v, TestEvent::OnMapEnd);
722    assert_next!(v, TestEvent::OnDocumentEnd);
723}
724
725#[test]
726fn test_ex6_6_line_folding() {
727    let mut v = str_to_test_events(EX6_6).into_iter();
728    assert_next!(v, TestEvent::OnDocumentStart);
729    assert_next!(v, TestEvent::OnScalar);
730    assert_next!(v, TestEvent::OnDocumentEnd);
731}
732
733#[test]
734fn test_ex6_7_block_folding() {
735    let mut v = str_to_test_events(EX6_7).into_iter();
736    assert_next!(v, TestEvent::OnDocumentStart);
737    assert_next!(v, TestEvent::OnScalar);
738    assert_next!(v, TestEvent::OnDocumentEnd);
739}
740
741#[test]
742fn test_ex6_8_flow_folding() {
743    let mut v = str_to_test_events(EX6_8).into_iter();
744    assert_next!(v, TestEvent::OnDocumentStart);
745    assert_next!(v, TestEvent::OnScalar);
746    assert_next!(v, TestEvent::OnDocumentEnd);
747}
748
749#[test]
750fn test_ex6_9_separated_comment() {
751    let mut v = str_to_test_events(EX6_9).into_iter();
752    assert_next!(v, TestEvent::OnDocumentStart);
753    assert_next!(v, TestEvent::OnMapStart);
754    assert_next!(v, TestEvent::OnScalar);
755    assert_next!(v, TestEvent::OnScalar);
756    assert_next!(v, TestEvent::OnMapEnd);
757    assert_next!(v, TestEvent::OnDocumentEnd);
758}
759
760#[test]
761fn test_ex6_12_separation_spaces_ii() {
762    let mut v = str_to_test_events(EX6_12).into_iter();
763    assert_next!(v, TestEvent::OnDocumentStart);
764    assert_next!(v, TestEvent::OnMapStart);
765    assert_next!(v, TestEvent::OnMapStart);
766    assert_next!(v, TestEvent::OnScalar);
767    assert_next!(v, TestEvent::OnScalar);
768    assert_next!(v, TestEvent::OnScalar);
769    assert_next!(v, TestEvent::OnScalar);
770    assert_next!(v, TestEvent::OnMapEnd);
771    assert_next!(v, TestEvent::OnMapStart);
772    assert_next!(v, TestEvent::OnScalar);
773    assert_next!(v, TestEvent::OnScalar);
774    assert_next!(v, TestEvent::OnScalar);
775    assert_next!(v, TestEvent::OnScalar);
776    assert_next!(v, TestEvent::OnMapEnd);
777    assert_next!(v, TestEvent::OnMapEnd);
778    assert_next!(v, TestEvent::OnDocumentEnd);
779}
780
781#[test]
782fn test_ex6_13_reserved_directives() {
783    let mut v = str_to_test_events(EX6_13).into_iter();
784    assert_next!(v, TestEvent::OnDocumentStart);
785    assert_next!(v, TestEvent::OnScalar);
786    assert_next!(v, TestEvent::OnDocumentEnd);
787}
788
789#[test]
790fn test_ex6_14_yaml_directive() {
791    let mut v = str_to_test_events(EX6_14).into_iter();
792    assert_next!(v, TestEvent::OnDocumentStart);
793    assert_next!(v, TestEvent::OnScalar);
794    assert_next!(v, TestEvent::OnDocumentEnd);
795}
796
797#[test]
798fn test_ex6_16_tag_directive() {
799    let mut v = str_to_test_events(EX6_16).into_iter();
800    assert_next!(v, TestEvent::OnDocumentStart);
801    assert_next!(v, TestEvent::OnScalar);
802    assert_next!(v, TestEvent::OnDocumentEnd);
803}
804
805#[test]
806fn test_ex6_18_primary_tag_handle() {
807    let mut v = str_to_test_events(EX6_18).into_iter();
808    assert_next!(v, TestEvent::OnDocumentStart);
809    assert_next!(v, TestEvent::OnScalar);
810    assert_next!(v, TestEvent::OnDocumentEnd);
811    assert_next!(v, TestEvent::OnDocumentStart);
812    assert_next!(v, TestEvent::OnScalar);
813    assert_next!(v, TestEvent::OnDocumentEnd);
814}
815
816#[test]
817fn test_ex6_19_secondary_tag_handle() {
818    let mut v = str_to_test_events(EX6_19).into_iter();
819    assert_next!(v, TestEvent::OnDocumentStart);
820    assert_next!(v, TestEvent::OnScalar);
821    assert_next!(v, TestEvent::OnDocumentEnd);
822}
823
824#[test]
825fn test_ex6_20_tag_handles() {
826    let mut v = str_to_test_events(EX6_20).into_iter();
827    assert_next!(v, TestEvent::OnDocumentStart);
828    assert_next!(v, TestEvent::OnScalar);
829    assert_next!(v, TestEvent::OnDocumentEnd);
830}
831
832#[test]
833fn test_ex6_21_local_tag_prefix() {
834    let mut v = str_to_test_events(EX6_21).into_iter();
835    assert_next!(v, TestEvent::OnDocumentStart);
836    assert_next!(v, TestEvent::OnScalar);
837    assert_next!(v, TestEvent::OnDocumentEnd);
838    assert_next!(v, TestEvent::OnDocumentStart);
839    assert_next!(v, TestEvent::OnScalar);
840    assert_next!(v, TestEvent::OnDocumentEnd);
841}
842
843#[test]
844fn test_ex6_22_global_tag_prefix() {
845    let mut v = str_to_test_events(EX6_22).into_iter();
846    assert_next!(v, TestEvent::OnDocumentStart);
847    assert_next!(v, TestEvent::OnSequenceStart);
848    assert_next!(v, TestEvent::OnScalar);
849    assert_next!(v, TestEvent::OnSequenceEnd);
850    assert_next!(v, TestEvent::OnDocumentEnd);
851}
852
853#[test]
854fn test_ex6_23_node_properties() {
855    let mut v = str_to_test_events(EX6_23).into_iter();
856    assert_next!(v, TestEvent::OnDocumentStart);
857    assert_next!(v, TestEvent::OnMapStart);
858    assert_next!(v, TestEvent::OnScalar);
859    assert_next!(v, TestEvent::OnScalar);
860    assert_next!(v, TestEvent::OnScalar);
861    assert_next!(v, TestEvent::OnAlias);
862    assert_next!(v, TestEvent::OnMapEnd);
863    assert_next!(v, TestEvent::OnDocumentEnd);
864}
865
866#[test]
867fn test_ex6_24_verbatim_tags() {
868    let mut v = str_to_test_events(EX6_24).into_iter();
869    assert_next!(v, TestEvent::OnDocumentStart);
870    assert_next!(v, TestEvent::OnMapStart);
871    assert_next!(v, TestEvent::OnScalar);
872    assert_next!(v, TestEvent::OnScalar);
873    assert_next!(v, TestEvent::OnMapEnd);
874    assert_next!(v, TestEvent::OnDocumentEnd);
875}
876
877#[test]
878fn test_ex6_26_tag_shorthands() {
879    let mut v = str_to_test_events(EX6_26).into_iter();
880    assert_next!(v, TestEvent::OnDocumentStart);
881    assert_next!(v, TestEvent::OnSequenceStart);
882    assert_next!(v, TestEvent::OnScalar);
883    assert_next!(v, TestEvent::OnScalar);
884    assert_next!(v, TestEvent::OnScalar);
885    assert_next!(v, TestEvent::OnSequenceEnd);
886    assert_next!(v, TestEvent::OnDocumentEnd);
887}
888
889#[test]
890fn test_ex6_28_non_specific_tags() {
891    let mut v = str_to_test_events(EX6_28).into_iter();
892    assert_next!(v, TestEvent::OnDocumentStart);
893    assert_next!(v, TestEvent::OnSequenceStart);
894    assert_next!(v, TestEvent::OnScalar);
895    assert_next!(v, TestEvent::OnScalar);
896    assert_next!(v, TestEvent::OnScalar);
897    assert_next!(v, TestEvent::OnSequenceEnd);
898    assert_next!(v, TestEvent::OnDocumentEnd);
899}
900
901#[test]
902fn test_ex6_29_node_anchors() {
903    let mut v = str_to_test_events(EX6_29).into_iter();
904    assert_next!(v, TestEvent::OnDocumentStart);
905    assert_next!(v, TestEvent::OnMapStart);
906    assert_next!(v, TestEvent::OnScalar);
907    assert_next!(v, TestEvent::OnScalar);
908    assert_next!(v, TestEvent::OnScalar);
909    assert_next!(v, TestEvent::OnAlias);
910    assert_next!(v, TestEvent::OnMapEnd);
911    assert_next!(v, TestEvent::OnDocumentEnd);
912}
913
914#[test]
915fn test_ex7_1_alias_nodes() {
916    let mut v = str_to_test_events(EX7_1).into_iter();
917    assert_next!(v, TestEvent::OnDocumentStart);
918    assert_next!(v, TestEvent::OnMapStart);
919    assert_next!(v, TestEvent::OnScalar);
920    assert_next!(v, TestEvent::OnScalar);
921    assert_next!(v, TestEvent::OnScalar);
922    assert_next!(v, TestEvent::OnAlias);
923    assert_next!(v, TestEvent::OnScalar);
924    assert_next!(v, TestEvent::OnScalar);
925    assert_next!(v, TestEvent::OnScalar);
926    assert_next!(v, TestEvent::OnAlias);
927    assert_next!(v, TestEvent::OnMapEnd);
928    assert_next!(v, TestEvent::OnDocumentEnd);
929}
930
931#[allow(dead_code)]
932fn test_ex7_2_empty_nodes() {
933    let mut v = str_to_test_events(EX7_2).into_iter();
934    assert_next!(v, TestEvent::OnDocumentStart);
935    assert_next!(v, TestEvent::OnMapStart);
936    assert_next!(v, TestEvent::OnScalar);
937    assert_next!(v, TestEvent::OnScalar);
938    assert_next!(v, TestEvent::OnScalar);
939    assert_next!(v, TestEvent::OnScalar);
940    assert_next!(v, TestEvent::OnMapEnd);
941    assert_next!(v, TestEvent::OnDocumentEnd);
942}
943
944#[test]
945fn test_ex7_3_completely_empty_nodes() {
946    let mut v = str_to_test_events(EX7_3).into_iter();
947    assert_next!(v, TestEvent::OnDocumentStart);
948    assert_next!(v, TestEvent::OnMapStart);
949    assert_next!(v, TestEvent::OnScalar);
950    assert_next!(v, TestEvent::OnNull);
951    assert_next!(v, TestEvent::OnNull);
952    assert_next!(v, TestEvent::OnScalar);
953    assert_next!(v, TestEvent::OnMapEnd);
954    assert_next!(v, TestEvent::OnDocumentEnd);
955}
956
957#[test]
958fn test_ex7_4_double_quoted_implicit_keys() {
959    let mut v = str_to_test_events(EX7_4).into_iter();
960    assert_next!(v, TestEvent::OnDocumentStart);
961    assert_next!(v, TestEvent::OnMapStart);
962    assert_next!(v, TestEvent::OnScalar);
963    assert_next!(v, TestEvent::OnSequenceStart);
964    assert_next!(v, TestEvent::OnMapStart);
965    assert_next!(v, TestEvent::OnScalar);
966    assert_next!(v, TestEvent::OnScalar);
967    assert_next!(v, TestEvent::OnMapEnd);
968    assert_next!(v, TestEvent::OnSequenceEnd);
969    assert_next!(v, TestEvent::OnMapEnd);
970    assert_next!(v, TestEvent::OnDocumentEnd);
971}
972
973#[test]
974fn test_ex7_5_double_quoted_line_breaks() {
975    let mut v = str_to_test_events(EX7_5).into_iter();
976    assert_next!(v, TestEvent::OnDocumentStart);
977    assert_next!(v, TestEvent::OnScalar);
978    assert_next!(v, TestEvent::OnDocumentEnd);
979}
980
981#[test]
982fn test_ex7_6_double_quoted_lines() {
983    let mut v = str_to_test_events(EX7_6).into_iter();
984    assert_next!(v, TestEvent::OnDocumentStart);
985    assert_next!(v, TestEvent::OnScalar);
986    assert_next!(v, TestEvent::OnDocumentEnd);
987}
988
989#[test]
990fn test_ex7_7_single_quoted_characters() {
991    let mut v = str_to_test_events(EX7_7).into_iter();
992    assert_next!(v, TestEvent::OnDocumentStart);
993    assert_next!(v, TestEvent::OnScalar);
994    assert_next!(v, TestEvent::OnDocumentEnd);
995}
996
997#[test]
998fn test_ex7_8_single_quoted_implicit_keys() {
999    let mut v = str_to_test_events(EX7_8).into_iter();
1000    assert_next!(v, TestEvent::OnDocumentStart);
1001    assert_next!(v, TestEvent::OnMapStart);
1002    assert_next!(v, TestEvent::OnScalar);
1003    assert_next!(v, TestEvent::OnSequenceStart);
1004    assert_next!(v, TestEvent::OnMapStart);
1005    assert_next!(v, TestEvent::OnScalar);
1006    assert_next!(v, TestEvent::OnScalar);
1007    assert_next!(v, TestEvent::OnMapEnd);
1008    assert_next!(v, TestEvent::OnSequenceEnd);
1009    assert_next!(v, TestEvent::OnMapEnd);
1010    assert_next!(v, TestEvent::OnDocumentEnd);
1011}
1012
1013#[test]
1014fn test_ex7_9_single_quoted_lines() {
1015    let mut v = str_to_test_events(EX7_9).into_iter();
1016    assert_next!(v, TestEvent::OnDocumentStart);
1017    assert_next!(v, TestEvent::OnScalar);
1018    assert_next!(v, TestEvent::OnDocumentEnd);
1019}
1020
1021#[allow(dead_code)]
1022fn test_ex7_10_plain_characters() {
1023    let mut v = str_to_test_events(EX7_10).into_iter();
1024    assert_next!(v, TestEvent::OnDocumentStart);
1025    assert_next!(v, TestEvent::OnSequenceStart);
1026    assert_next!(v, TestEvent::OnScalar);
1027    assert_next!(v, TestEvent::OnScalar);
1028    assert_next!(v, TestEvent::OnScalar);
1029    assert_next!(v, TestEvent::OnScalar);
1030    assert_next!(v, TestEvent::OnScalar);
1031    assert_next!(v, TestEvent::OnSequenceStart);
1032    assert_next!(v, TestEvent::OnScalar);
1033    assert_next!(v, TestEvent::OnScalar);
1034    assert_next!(v, TestEvent::OnScalar);
1035    assert_next!(v, TestEvent::OnScalar);
1036    assert_next!(v, TestEvent::OnScalar);
1037    assert_next!(v, TestEvent::OnSequenceEnd);
1038    assert_next!(v, TestEvent::OnSequenceEnd);
1039    assert_next!(v, TestEvent::OnDocumentEnd);
1040}
1041
1042#[test]
1043fn test_ex7_11_plain_implicit_keys() {
1044    let mut v = str_to_test_events(EX7_11).into_iter();
1045    assert_next!(v, TestEvent::OnDocumentStart);
1046    assert_next!(v, TestEvent::OnMapStart);
1047    assert_next!(v, TestEvent::OnScalar);
1048    assert_next!(v, TestEvent::OnSequenceStart);
1049    assert_next!(v, TestEvent::OnMapStart);
1050    assert_next!(v, TestEvent::OnScalar);
1051    assert_next!(v, TestEvent::OnScalar);
1052    assert_next!(v, TestEvent::OnMapEnd);
1053    assert_next!(v, TestEvent::OnSequenceEnd);
1054    assert_next!(v, TestEvent::OnMapEnd);
1055    assert_next!(v, TestEvent::OnDocumentEnd);
1056}
1057
1058#[test]
1059fn test_ex7_12_plain_lines() {
1060    let mut v = str_to_test_events(EX7_12).into_iter();
1061    assert_next!(v, TestEvent::OnDocumentStart);
1062    assert_next!(v, TestEvent::OnScalar);
1063    assert_next!(v, TestEvent::OnDocumentEnd);
1064}
1065
1066#[test]
1067fn test_ex7_13_flow_sequence() {
1068    let mut v = str_to_test_events(EX7_13).into_iter();
1069    assert_next!(v, TestEvent::OnDocumentStart);
1070    assert_next!(v, TestEvent::OnSequenceStart);
1071    assert_next!(v, TestEvent::OnSequenceStart);
1072    assert_next!(v, TestEvent::OnScalar);
1073    assert_next!(v, TestEvent::OnScalar);
1074    assert_next!(v, TestEvent::OnSequenceEnd);
1075    assert_next!(v, TestEvent::OnSequenceStart);
1076    assert_next!(v, TestEvent::OnScalar);
1077    assert_next!(v, TestEvent::OnScalar);
1078    assert_next!(v, TestEvent::OnSequenceEnd);
1079    assert_next!(v, TestEvent::OnSequenceEnd);
1080    assert_next!(v, TestEvent::OnDocumentEnd);
1081}
1082
1083#[test]
1084fn test_ex7_14_flow_sequence_entries() {
1085    let mut v = str_to_test_events(EX7_14).into_iter();
1086    assert_next!(v, TestEvent::OnDocumentStart);
1087    assert_next!(v, TestEvent::OnSequenceStart);
1088    assert_next!(v, TestEvent::OnScalar);
1089    assert_next!(v, TestEvent::OnScalar);
1090    assert_next!(v, TestEvent::OnScalar);
1091    assert_next!(v, TestEvent::OnSequenceStart);
1092    assert_next!(v, TestEvent::OnScalar);
1093    assert_next!(v, TestEvent::OnSequenceEnd);
1094    assert_next!(v, TestEvent::OnMapStart);
1095    assert_next!(v, TestEvent::OnScalar);
1096    assert_next!(v, TestEvent::OnScalar);
1097    assert_next!(v, TestEvent::OnMapEnd);
1098    assert_next!(v, TestEvent::OnSequenceEnd);
1099    assert_next!(v, TestEvent::OnDocumentEnd);
1100}
1101
1102#[test]
1103fn test_ex7_15_flow_mappings() {
1104    let mut v = str_to_test_events(EX7_15).into_iter();
1105    assert_next!(v, TestEvent::OnDocumentStart);
1106    assert_next!(v, TestEvent::OnSequenceStart);
1107    assert_next!(v, TestEvent::OnMapStart);
1108    assert_next!(v, TestEvent::OnScalar);
1109    assert_next!(v, TestEvent::OnScalar);
1110    assert_next!(v, TestEvent::OnScalar);
1111    assert_next!(v, TestEvent::OnScalar);
1112    assert_next!(v, TestEvent::OnMapEnd);
1113    assert_next!(v, TestEvent::OnMapStart);
1114    assert_next!(v, TestEvent::OnScalar);
1115    assert_next!(v, TestEvent::OnScalar);
1116    assert_next!(v, TestEvent::OnScalar);
1117    assert_next!(v, TestEvent::OnScalar);
1118    assert_next!(v, TestEvent::OnMapEnd);
1119    assert_next!(v, TestEvent::OnSequenceEnd);
1120    assert_next!(v, TestEvent::OnDocumentEnd);
1121}
1122
1123#[test]
1124fn test_ex7_16_flow_mapping_entries() {
1125    let mut v = str_to_test_events(EX7_16).into_iter();
1126    assert_next!(v, TestEvent::OnDocumentStart);
1127    assert_next!(v, TestEvent::OnMapStart);
1128    assert_next!(v, TestEvent::OnScalar);
1129    assert_next!(v, TestEvent::OnScalar);
1130    assert_next!(v, TestEvent::OnScalar);
1131    assert_next!(v, TestEvent::OnScalar);
1132    assert_next!(v, TestEvent::OnNull);
1133    assert_next!(v, TestEvent::OnNull);
1134    assert_next!(v, TestEvent::OnMapEnd);
1135    assert_next!(v, TestEvent::OnDocumentEnd);
1136}
1137
1138#[allow(dead_code)]
1139fn test_ex7_17_flow_mapping_separate_values() {
1140    let mut v = str_to_test_events(EX7_17).into_iter();
1141    assert_next!(v, TestEvent::OnDocumentStart);
1142    assert_next!(v, TestEvent::OnMapStart);
1143    assert_next!(v, TestEvent::OnScalar);
1144    assert_next!(v, TestEvent::OnScalar);
1145    assert_next!(v, TestEvent::OnScalar);
1146    assert_next!(v, TestEvent::OnNull);
1147    assert_next!(v, TestEvent::OnScalar);
1148    assert_next!(v, TestEvent::OnNull);
1149    assert_next!(v, TestEvent::OnNull);
1150    assert_next!(v, TestEvent::OnScalar);
1151    assert_next!(v, TestEvent::OnMapEnd);
1152    assert_next!(v, TestEvent::OnDocumentEnd);
1153}
1154
1155#[test]
1156fn test_ex7_18_flow_mapping_adjacent_values() {
1157    let mut v = str_to_test_events(EX7_18).into_iter();
1158    assert_next!(v, TestEvent::OnDocumentStart);
1159    assert_next!(v, TestEvent::OnMapStart);
1160    assert_next!(v, TestEvent::OnScalar);
1161    assert_next!(v, TestEvent::OnScalar);
1162    assert_next!(v, TestEvent::OnScalar);
1163    assert_next!(v, TestEvent::OnScalar);
1164    assert_next!(v, TestEvent::OnScalar);
1165    assert_next!(v, TestEvent::OnNull);
1166    assert_next!(v, TestEvent::OnMapEnd);
1167    assert_next!(v, TestEvent::OnDocumentEnd);
1168}
1169
1170#[test]
1171fn test_ex7_19_single_pair_flow_mappings() {
1172    let mut v = str_to_test_events(EX7_19).into_iter();
1173    assert_next!(v, TestEvent::OnDocumentStart);
1174    assert_next!(v, TestEvent::OnSequenceStart);
1175    assert_next!(v, TestEvent::OnMapStart);
1176    assert_next!(v, TestEvent::OnScalar);
1177    assert_next!(v, TestEvent::OnScalar);
1178    assert_next!(v, TestEvent::OnMapEnd);
1179    assert_next!(v, TestEvent::OnSequenceEnd);
1180    assert_next!(v, TestEvent::OnDocumentEnd);
1181}
1182
1183#[test]
1184fn test_ex7_20_single_pair_explicit_entry() {
1185    let mut v = str_to_test_events(EX7_20).into_iter();
1186    assert_next!(v, TestEvent::OnDocumentStart);
1187    assert_next!(v, TestEvent::OnSequenceStart);
1188    assert_next!(v, TestEvent::OnMapStart);
1189    assert_next!(v, TestEvent::OnScalar);
1190    assert_next!(v, TestEvent::OnScalar);
1191    assert_next!(v, TestEvent::OnMapEnd);
1192    assert_next!(v, TestEvent::OnSequenceEnd);
1193    assert_next!(v, TestEvent::OnDocumentEnd);
1194}
1195
1196#[allow(dead_code)]
1197fn test_ex7_21_single_pair_implicit_entries() {
1198    let mut v = str_to_test_events(EX7_21).into_iter();
1199    assert_next!(v, TestEvent::OnDocumentStart);
1200    assert_next!(v, TestEvent::OnSequenceStart);
1201    assert_next!(v, TestEvent::OnSequenceStart);
1202    assert_next!(v, TestEvent::OnMapStart);
1203    assert_next!(v, TestEvent::OnScalar);
1204    assert_next!(v, TestEvent::OnScalar);
1205    assert_next!(v, TestEvent::OnMapEnd);
1206    assert_next!(v, TestEvent::OnSequenceEnd);
1207    assert_next!(v, TestEvent::OnSequenceStart);
1208    assert_next!(v, TestEvent::OnMapStart);
1209    assert_next!(v, TestEvent::OnNull);
1210    assert_next!(v, TestEvent::OnScalar);
1211    assert_next!(v, TestEvent::OnMapEnd);
1212    assert_next!(v, TestEvent::OnSequenceEnd);
1213    assert_next!(v, TestEvent::OnSequenceStart);
1214    assert_next!(v, TestEvent::OnMapStart);
1215    assert_next!(v, TestEvent::OnMapStart);
1216    assert_next!(v, TestEvent::OnScalar);
1217    assert_next!(v, TestEvent::OnScalar);
1218    assert_next!(v, TestEvent::OnMapEnd);
1219    assert_next!(v, TestEvent::OnScalar);
1220    assert_next!(v, TestEvent::OnMapEnd);
1221    assert_next!(v, TestEvent::OnSequenceEnd);
1222    assert_next!(v, TestEvent::OnSequenceEnd);
1223    assert_next!(v, TestEvent::OnDocumentEnd);
1224}
1225
1226#[test]
1227fn test_ex7_23_flow_content() {
1228    let mut v = str_to_test_events(EX7_23).into_iter();
1229    assert_next!(v, TestEvent::OnDocumentStart);
1230    assert_next!(v, TestEvent::OnSequenceStart);
1231    assert_next!(v, TestEvent::OnSequenceStart);
1232    assert_next!(v, TestEvent::OnScalar);
1233    assert_next!(v, TestEvent::OnScalar);
1234    assert_next!(v, TestEvent::OnSequenceEnd);
1235    assert_next!(v, TestEvent::OnMapStart);
1236    assert_next!(v, TestEvent::OnScalar);
1237    assert_next!(v, TestEvent::OnScalar);
1238    assert_next!(v, TestEvent::OnMapEnd);
1239    assert_next!(v, TestEvent::OnScalar);
1240    assert_next!(v, TestEvent::OnScalar);
1241    assert_next!(v, TestEvent::OnScalar);
1242    assert_next!(v, TestEvent::OnSequenceEnd);
1243    assert_next!(v, TestEvent::OnDocumentEnd);
1244}
1245
1246#[test]
1247fn test_ex7_24_flow_nodes() {
1248    let mut v = str_to_test_events(EX7_24).into_iter();
1249    assert_next!(v, TestEvent::OnDocumentStart);
1250    assert_next!(v, TestEvent::OnSequenceStart);
1251    assert_next!(v, TestEvent::OnScalar);
1252    assert_next!(v, TestEvent::OnScalar);
1253    assert_next!(v, TestEvent::OnScalar);
1254    assert_next!(v, TestEvent::OnAlias);
1255    assert_next!(v, TestEvent::OnScalar);
1256    assert_next!(v, TestEvent::OnSequenceEnd);
1257    assert_next!(v, TestEvent::OnDocumentEnd);
1258}
1259
1260#[test]
1261fn test_ex8_1_block_scalar_header() {
1262    let mut v = str_to_test_events(EX8_1).into_iter();
1263    assert_next!(v, TestEvent::OnDocumentStart);
1264    assert_next!(v, TestEvent::OnSequenceStart);
1265    assert_next!(v, TestEvent::OnScalar);
1266    assert_next!(v, TestEvent::OnScalar);
1267    assert_next!(v, TestEvent::OnScalar);
1268    assert_next!(v, TestEvent::OnScalar);
1269    assert_next!(v, TestEvent::OnSequenceEnd);
1270    assert_next!(v, TestEvent::OnDocumentEnd);
1271}
1272
1273#[allow(dead_code)]
1274fn test_ex8_2_block_indentation_header() {
1275    let mut v = str_to_test_events(EX8_2).into_iter();
1276    assert_next!(v, TestEvent::OnDocumentStart);
1277    assert_next!(v, TestEvent::OnSequenceStart);
1278    assert_next!(v, TestEvent::OnScalar);
1279    assert_next!(v, TestEvent::OnScalar);
1280    assert_next!(v, TestEvent::OnScalar);
1281    assert_next!(v, TestEvent::OnScalar);
1282    assert_next!(v, TestEvent::OnSequenceEnd);
1283    assert_next!(v, TestEvent::OnDocumentEnd);
1284}
1285
1286#[test]
1287fn test_ex8_4_chomping_final_line_break() {
1288    let mut v = str_to_test_events(EX8_4).into_iter();
1289    assert_next!(v, TestEvent::OnDocumentStart);
1290    assert_next!(v, TestEvent::OnMapStart);
1291    assert_next!(v, TestEvent::OnScalar);
1292    assert_next!(v, TestEvent::OnScalar);
1293    assert_next!(v, TestEvent::OnScalar);
1294    assert_next!(v, TestEvent::OnScalar);
1295    assert_next!(v, TestEvent::OnScalar);
1296    assert_next!(v, TestEvent::OnScalar);
1297    assert_next!(v, TestEvent::OnMapEnd);
1298    assert_next!(v, TestEvent::OnDocumentEnd);
1299}
1300
1301#[test]
1302fn test_ex8_6_empty_scalar_chomping() {
1303    let mut v = str_to_test_events(EX8_6).into_iter();
1304    assert_next!(v, TestEvent::OnDocumentStart);
1305    assert_next!(v, TestEvent::OnMapStart);
1306    assert_next!(v, TestEvent::OnScalar);
1307    assert_next!(v, TestEvent::OnScalar);
1308    assert_next!(v, TestEvent::OnScalar);
1309    assert_next!(v, TestEvent::OnScalar);
1310    assert_next!(v, TestEvent::OnScalar);
1311    assert_next!(v, TestEvent::OnScalar);
1312    assert_next!(v, TestEvent::OnMapEnd);
1313    assert_next!(v, TestEvent::OnDocumentEnd);
1314}
1315
1316#[test]
1317fn test_ex8_7_literal_scalar() {
1318    let mut v = str_to_test_events(EX8_7).into_iter();
1319    assert_next!(v, TestEvent::OnDocumentStart);
1320    assert_next!(v, TestEvent::OnScalar);
1321    assert_next!(v, TestEvent::OnDocumentEnd);
1322}
1323
1324#[test]
1325fn test_ex8_8_literal_content() {
1326    let mut v = str_to_test_events(EX8_8).into_iter();
1327    assert_next!(v, TestEvent::OnDocumentStart);
1328    assert_next!(v, TestEvent::OnScalar);
1329    assert_next!(v, TestEvent::OnDocumentEnd);
1330}
1331
1332#[test]
1333fn test_ex8_9_folded_scalar() {
1334    let mut v = str_to_test_events(EX8_9).into_iter();
1335    assert_next!(v, TestEvent::OnDocumentStart);
1336    assert_next!(v, TestEvent::OnScalar);
1337    assert_next!(v, TestEvent::OnDocumentEnd);
1338}
1339
1340#[test]
1341fn test_ex8_10_folded_lines() {
1342    let mut v = str_to_test_events(EX8_10).into_iter();
1343    assert_next!(v, TestEvent::OnDocumentStart);
1344    assert_next!(v, TestEvent::OnScalar);
1345    assert_next!(v, TestEvent::OnDocumentEnd);
1346}
1347
1348#[test]
1349fn test_ex8_11_more_indented_lines() {
1350    let mut v = str_to_test_events(EX8_11).into_iter();
1351    assert_next!(v, TestEvent::OnDocumentStart);
1352    assert_next!(v, TestEvent::OnScalar);
1353    assert_next!(v, TestEvent::OnDocumentEnd);
1354}
1355
1356#[test]
1357fn test_ex8_12_empty_separation_lines() {
1358    let mut v = str_to_test_events(EX8_12).into_iter();
1359    assert_next!(v, TestEvent::OnDocumentStart);
1360    assert_next!(v, TestEvent::OnScalar);
1361    assert_next!(v, TestEvent::OnDocumentEnd);
1362}
1363
1364#[test]
1365fn test_ex8_13_final_empty_lines() {
1366    let mut v = str_to_test_events(EX8_13).into_iter();
1367    assert_next!(v, TestEvent::OnDocumentStart);
1368    assert_next!(v, TestEvent::OnScalar);
1369    assert_next!(v, TestEvent::OnDocumentEnd);
1370}
1371
1372#[test]
1373fn test_ex8_14_block_sequence() {
1374    let mut v = str_to_test_events(EX8_14).into_iter();
1375    assert_next!(v, TestEvent::OnDocumentStart);
1376    assert_next!(v, TestEvent::OnMapStart);
1377    assert_next!(v, TestEvent::OnScalar);
1378    assert_next!(v, TestEvent::OnSequenceStart);
1379    assert_next!(v, TestEvent::OnScalar);
1380    assert_next!(v, TestEvent::OnMapStart);
1381    assert_next!(v, TestEvent::OnScalar);
1382    assert_next!(v, TestEvent::OnScalar);
1383    assert_next!(v, TestEvent::OnMapEnd);
1384    assert_next!(v, TestEvent::OnSequenceEnd);
1385    assert_next!(v, TestEvent::OnMapEnd);
1386    assert_next!(v, TestEvent::OnDocumentEnd);
1387}
1388
1389#[test]
1390fn test_ex8_15_block_sequence_entry_types() {
1391    let mut v = str_to_test_events(EX8_15).into_iter();
1392    assert_next!(v, TestEvent::OnDocumentStart);
1393    assert_next!(v, TestEvent::OnSequenceStart);
1394    assert_next!(v, TestEvent::OnNull);
1395    assert_next!(v, TestEvent::OnScalar);
1396    assert_next!(v, TestEvent::OnSequenceStart);
1397    assert_next!(v, TestEvent::OnScalar);
1398    assert_next!(v, TestEvent::OnScalar);
1399    assert_next!(v, TestEvent::OnSequenceEnd);
1400    assert_next!(v, TestEvent::OnMapStart);
1401    assert_next!(v, TestEvent::OnScalar);
1402    assert_next!(v, TestEvent::OnScalar);
1403    assert_next!(v, TestEvent::OnMapEnd);
1404    assert_next!(v, TestEvent::OnSequenceEnd);
1405    assert_next!(v, TestEvent::OnDocumentEnd);
1406}
1407
1408#[test]
1409fn test_ex8_16_block_mappings() {
1410    let mut v = str_to_test_events(EX8_16).into_iter();
1411    assert_next!(v, TestEvent::OnDocumentStart);
1412    assert_next!(v, TestEvent::OnMapStart);
1413    assert_next!(v, TestEvent::OnScalar);
1414    assert_next!(v, TestEvent::OnMapStart);
1415    assert_next!(v, TestEvent::OnScalar);
1416    assert_next!(v, TestEvent::OnScalar);
1417    assert_next!(v, TestEvent::OnMapEnd);
1418    assert_next!(v, TestEvent::OnMapEnd);
1419    assert_next!(v, TestEvent::OnDocumentEnd);
1420}
1421
1422#[test]
1423fn test_ex8_17_explicit_block_mapping_entries() {
1424    let mut v = str_to_test_events(EX8_17).into_iter();
1425    assert_next!(v, TestEvent::OnDocumentStart);
1426    assert_next!(v, TestEvent::OnMapStart);
1427    assert_next!(v, TestEvent::OnScalar);
1428    assert_next!(v, TestEvent::OnNull);
1429    assert_next!(v, TestEvent::OnScalar);
1430    assert_next!(v, TestEvent::OnSequenceStart);
1431    assert_next!(v, TestEvent::OnScalar);
1432    assert_next!(v, TestEvent::OnScalar);
1433    assert_next!(v, TestEvent::OnSequenceEnd);
1434    assert_next!(v, TestEvent::OnMapEnd);
1435    assert_next!(v, TestEvent::OnDocumentEnd);
1436}
1437
1438#[test]
1439fn test_ex8_18_implicit_block_mapping_entries() {
1440    let mut v = str_to_test_events(EX8_18).into_iter();
1441    assert_next!(v, TestEvent::OnDocumentStart);
1442    assert_next!(v, TestEvent::OnMapStart);
1443    assert_next!(v, TestEvent::OnScalar);
1444    assert_next!(v, TestEvent::OnScalar);
1445    assert_next!(v, TestEvent::OnNull);
1446    assert_next!(v, TestEvent::OnNull);
1447    assert_next!(v, TestEvent::OnScalar);
1448    assert_next!(v, TestEvent::OnSequenceStart);
1449    assert_next!(v, TestEvent::OnScalar);
1450    assert_next!(v, TestEvent::OnSequenceEnd);
1451    assert_next!(v, TestEvent::OnMapEnd);
1452    assert_next!(v, TestEvent::OnDocumentEnd);
1453}
1454
1455#[test]
1456fn test_ex8_19_compact_block_mappings() {
1457    let mut v = str_to_test_events(EX8_19).into_iter();
1458    assert_next!(v, TestEvent::OnDocumentStart);
1459    assert_next!(v, TestEvent::OnSequenceStart);
1460    assert_next!(v, TestEvent::OnMapStart);
1461    assert_next!(v, TestEvent::OnScalar);
1462    assert_next!(v, TestEvent::OnScalar);
1463    assert_next!(v, TestEvent::OnMapEnd);
1464    assert_next!(v, TestEvent::OnMapStart);
1465    assert_next!(v, TestEvent::OnMapStart);
1466    assert_next!(v, TestEvent::OnScalar);
1467    assert_next!(v, TestEvent::OnScalar);
1468    assert_next!(v, TestEvent::OnMapEnd);
1469    assert_next!(v, TestEvent::OnMapStart);
1470    assert_next!(v, TestEvent::OnScalar);
1471    assert_next!(v, TestEvent::OnScalar);
1472    assert_next!(v, TestEvent::OnMapEnd);
1473    assert_next!(v, TestEvent::OnMapEnd);
1474    assert_next!(v, TestEvent::OnSequenceEnd);
1475    assert_next!(v, TestEvent::OnDocumentEnd);
1476}
1477
1478#[test]
1479fn test_ex8_20_block_node_types() {
1480    let mut v = str_to_test_events(EX8_20).into_iter();
1481    assert_next!(v, TestEvent::OnDocumentStart);
1482    assert_next!(v, TestEvent::OnSequenceStart);
1483    assert_next!(v, TestEvent::OnScalar);
1484    assert_next!(v, TestEvent::OnScalar);
1485    assert_next!(v, TestEvent::OnMapStart);
1486    assert_next!(v, TestEvent::OnScalar);
1487    assert_next!(v, TestEvent::OnScalar);
1488    assert_next!(v, TestEvent::OnMapEnd);
1489    assert_next!(v, TestEvent::OnSequenceEnd);
1490    assert_next!(v, TestEvent::OnDocumentEnd);
1491}
1492
1493#[test]
1494fn test_ex8_22_block_collection_nodes() {
1495    let mut v = str_to_test_events(EX8_22).into_iter();
1496    assert_next!(v, TestEvent::OnDocumentStart);
1497    assert_next!(v, TestEvent::OnMapStart);
1498    assert_next!(v, TestEvent::OnScalar);
1499    assert_next!(v, TestEvent::OnSequenceStart);
1500    assert_next!(v, TestEvent::OnScalar);
1501    assert_next!(v, TestEvent::OnSequenceStart);
1502    assert_next!(v, TestEvent::OnScalar);
1503    assert_next!(v, TestEvent::OnSequenceEnd);
1504    assert_next!(v, TestEvent::OnSequenceEnd);
1505    assert_next!(v, TestEvent::OnScalar);
1506    assert_next!(v, TestEvent::OnMapStart);
1507    assert_next!(v, TestEvent::OnScalar);
1508    assert_next!(v, TestEvent::OnScalar);
1509    assert_next!(v, TestEvent::OnMapEnd);
1510    assert_next!(v, TestEvent::OnMapEnd);
1511    assert_next!(v, TestEvent::OnDocumentEnd);
1512}
1513
1514