@@ -517,6 +517,110 @@ ENGINE_TEST_ERR(DirectiveMultipleYAML_3,
517517 " ---\n "
518518 " bar" )
519519
520+
521+ // -----------------------------------------------------------------------------
522+
523+ ENGINE_TEST (TagEmptySeq0,
524+ (" !!seq []\n " , " !!seq []" ),
525+ " +STR\n +DOC\n +SEQ [] <tag:yaml.org,2002:seq>\n -SEQ\n -DOC\n -STR\n " )
526+ {
527+ ___ (ps.begin_stream ());
528+ ___ (ps.begin_doc ());
529+ ___ (ps.set_val_tag (" !!seq" ));
530+ ___ (ps.begin_seq_val_flow ());
531+ ___ (ps.end_seq ());
532+ ___ (ps.end_doc ());
533+ ___ (ps.end_stream ());
534+ }
535+
536+ ENGINE_TEST (TagEmptySeq1,
537+ (" "
538+ " - !!seq []\n "
539+ " " ),
540+ " +STR\n +DOC\n +SEQ\n +SEQ [] <tag:yaml.org,2002:seq>\n -SEQ\n -SEQ\n -DOC\n -STR\n " )
541+ {
542+ ___ (ps.begin_stream ());
543+ ___ (ps.begin_doc ());
544+ ___ (ps.begin_seq_val_block ());
545+ ___ (ps.set_val_tag (" !!seq" ));
546+ ___ (ps.begin_seq_val_flow ());
547+ ___ (ps.end_seq ());
548+ ___ (ps.end_seq ());
549+ ___ (ps.end_doc ());
550+ ___ (ps.end_stream ());
551+ }
552+
553+ ENGINE_TEST (TagEmptySeq2,
554+ (" "
555+ " !!seq\n "
556+ " - !!seq []\n "
557+ " " ),
558+ " +STR\n +DOC\n +SEQ <tag:yaml.org,2002:seq>\n +SEQ [] <tag:yaml.org,2002:seq>\n -SEQ\n -SEQ\n -DOC\n -STR\n " )
559+ {
560+ ___ (ps.begin_stream ());
561+ ___ (ps.begin_doc ());
562+ ___ (ps.set_val_tag (" !!seq" ));
563+ ___ (ps.begin_seq_val_block ());
564+ ___ (ps.set_val_tag (" !!seq" ));
565+ ___ (ps.begin_seq_val_flow ());
566+ ___ (ps.end_seq ());
567+ ___ (ps.end_seq ());
568+ ___ (ps.end_doc ());
569+ ___ (ps.end_stream ());
570+ }
571+
572+
573+ // -----------------------------------------------------------------------------
574+
575+ ENGINE_TEST (TagEmptyMap0,
576+ (" !!map {}\n " , " !!map {}" ),
577+ " +STR\n +DOC\n +MAP {} <tag:yaml.org,2002:map>\n -MAP\n -DOC\n -STR\n " )
578+ {
579+ ___ (ps.begin_stream ());
580+ ___ (ps.begin_doc ());
581+ ___ (ps.set_val_tag (" !!map" ));
582+ ___ (ps.begin_map_val_flow ());
583+ ___ (ps.end_map ());
584+ ___ (ps.end_doc ());
585+ ___ (ps.end_stream ());
586+ }
587+
588+ ENGINE_TEST (TagEmptyMap1,
589+ (" "
590+ " - !!map {}\n "
591+ " " ),
592+ " +STR\n +DOC\n +SEQ\n +MAP {} <tag:yaml.org,2002:map>\n -MAP\n -SEQ\n -DOC\n -STR\n " )
593+ {
594+ ___ (ps.begin_stream ());
595+ ___ (ps.begin_doc ());
596+ ___ (ps.begin_seq_val_block ());
597+ ___ (ps.set_val_tag (" !!map" ));
598+ ___ (ps.begin_map_val_flow ());
599+ ___ (ps.end_map ());
600+ ___ (ps.end_seq ());
601+ ___ (ps.end_doc ());
602+ ___ (ps.end_stream ());
603+ }
604+
605+ ENGINE_TEST (TagEmptyMap2,
606+ (" "
607+ " !!seq\n "
608+ " - !!map {}\n "
609+ " " ),
610+ " +STR\n +DOC\n +SEQ <tag:yaml.org,2002:seq>\n +MAP {} <tag:yaml.org,2002:map>\n -MAP\n -SEQ\n -DOC\n -STR\n " )
611+ {
612+ ___ (ps.begin_stream ());
613+ ___ (ps.begin_doc ());
614+ ___ (ps.set_val_tag (" !!seq" ));
615+ ___ (ps.begin_seq_val_block ());
616+ ___ (ps.set_val_tag (" !!map" ));
617+ ___ (ps.begin_map_val_flow ());
618+ ___ (ps.end_map ());
619+ ___ (ps.end_seq ());
620+ ___ (ps.end_doc ());
621+ ___ (ps.end_stream ());
622+ }
623+
520624} // namespace yml
521625} // namespace c4
522626
0 commit comments