# YAML Test Matrix

--- &test-735Y
  Title: Spec Example 8.20. Block Node Types
  Tags: [ comment, double, folded, spec, tag ]

YAML

-
  "flow in block"
- >
 Block scalar
- !!map # Block collection
  foo : bar

Expected Events

+STR
+DOC
+SEQ
=VAL "flow in block
=VAL >Block scalar\n
+MAP <tag:yaml.org,2002:map>
=VAL :foo
=VAL :bar
-MAP
-SEQ
-DOC
-STR

Expected JSON

[
"flow in block",
"Block scalar\n",
{
"foo": "bar"
}
]

c-libfyaml-event

 ok

c-libyaml-event

 ok

cpp-rapidyaml-event

 ok

cpp-yamlcpp-event

 ok

dotnet-yamldotnet-event

 ok

hs-hsyaml-event

 ok

js-yaml-event

 ok

nim-nimyaml-event

 ok

perl-pp-event

 ok

perl-refparser-event

 ok

py-pyyaml-event

 ok

py-ruamel-event

 ok

c-libfyaml-json

 json_ok

dotnet-yamldotnet-json

 json_ok

go-yaml-json

 json_ok

hs-hsyaml-json

 json_ok

js-jsyaml-json

 json_ok

js-yaml-json

 json_ok

lua-lyaml-json

 json_ok

perl-pp-json

 json_ok

perl-pplibyaml-json

 json_ok

perl-syck-json

 json_ok

perl-xs-json

 json_ok

py-pyyaml-json

 json_ok

py-ruamel-json

 json_ok

ruby-psych-json

 json_ok

rust-yamlrust-event

 diff
Minimal Events:
+STR
+DOC
+SEQ
=VAL "flow in block
=VAL >Block scalar\n
+MAP <tag:yaml.org,2002:map>
=VAL :foo
=VAL :bar
-MAP
-SEQ
-DOC
-STR
Transformed Events:
+STR
+DOC
+SEQ
=VAL "flow in block
=VAL >Block scalar\n
+MAP
=VAL :foo
=VAL :bar
-MAP
-SEQ
-DOC
-STR
Got Events:
+STR
+DOC
+SEQ
=VAL "flow in block
=VAL >Block scalar\n
+MAP
=VAL :foo
=VAL :bar
-MAP
-SEQ
-DOC
-STR

perl-yaml-json

 error
YAML Error: Expected separator '---'
   Code: YAML_PARSE_ERR_NO_SEPARATOR
   Line: 2
   Document: 2
 at /perl5/lib/perl5/YAML/Loader.pm line 88.

perl-yaml-perl

 error
YAML Error: Expected separator '---'
   Code: YAML_PARSE_ERR_NO_SEPARATOR
   Line: 2
   Document: 2
 at /perl5/lib/perl5/YAML/Loader.pm line 88.

hs-reference-yeast

 na
Line  Col Char Byte Token|Content
   1    0    0    0 +DOC |
   1    0    0    0 +NODE|
   1    0    0    0 +SEQ |
   1    0    0    0 =SYNX|-
   1    1    1    1 =EOL |\x0a
   2    0    2    2 =DENT|.
   2    1    3    3 =WSPC|.
   2    2    4    4 +NODE|
   2    2    4    4 +VAL |
   2    2    4    4 =SYNX|"
   2    3    5    5 =TEXT|flow.in.block
   2   16   18   18 =SYNX|"
   2   17   19   19 -VAL |
   2   17   19   19 -NODE|
   2   17   19   19 =EOL |\x0a
   3    0   20   20 =SYNX|-
   3    1   21   21 +NODE|
   3    1   21   21 =WSPC|.
   3    2   22   22 +VAL |
   3    2   22   22 =SYNX|>
   3    3   23   23 =EOL |\x0a
   4    0   24   24 =DENT|.
   4    1   25   25 =TEXT|Block.scalar
   4   13   37   37 =NEWL|\x0a
   5    0   38   38 -VAL |
   5    0   38   38 -NODE|
   5    0   38   38 =SYNX|-
   5    1   39   39 +NODE|
   5    1   39   39 =WSPC|.
   5    2   40   40 +PROP|
   5    2   40   40 +TAG |
   5    2   40   40 +HAND|
   5    2   40   40 =SYNX|!
   5    3   41   41 =SYNX|!
   5    4   42   42 -HAND|
   5    4   42   42 =META|map
   5    7   45   45 -TAG |
   5    7   45   45 -PROP|
   5    7   45   45 =WSPC|.
   5    8   46   46 +COMM|
   5    8   46   46 =SYNX|#
   5    9   47   47 =META|.Block.collection
   5   26   64   64 -COMM|
   5   26   64   64 =EOL |\x0a
   6    0   65   65 +MAP |
   6    0   65   65 =DENT|..
   6    2   67   67 +PAIR|
   6    2   67   67 +NODE|
   6    2   67   67 +VAL |
   6    2   67   67 =TEXT|foo
   6    5   70   70 -VAL |
   6    5   70   70 -NODE|
   6    5   70   70 =WSPC|.
   6    6   71   71 =SYNX|:
   6    7   72   72 =WSPC|.
   6    8   73   73 +NODE|
   6    8   73   73 +VAL |
   6    8   73   73 =TEXT|bar
   6   11   76   76 -VAL |
   6   11   76   76 -NODE|
   6   11   76   76 =EOL |\x0a
   7    0   77   77 -PAIR|
   7    0   77   77 -MAP |
   7    0   77   77 -NODE|
   7    0   77   77 -SEQ |
   7    0   77   77 -NODE|
   7    0   77   77 -DOC |

perl-pp-perl

 na
[
  'flow in block',
  'Block scalar
',
  {
    'foo' => 'bar'
  }
]

perl-pplibyaml-perl

 na
[
  'flow in block',
  'Block scalar
',
  {
    'foo' => 'bar'
  }
]

perl-syck-perl

 na
[
  'flow in block',
  'Block scalar
',
  {
    'foo' => 'bar'
  }
]

perl-xs-perl

 na
[
  'flow in block',
  'Block scalar
',
  {
    'foo' => 'bar'
  }
]

py-pyyaml-py

 na
['flow in block', 'Block scalar\n', {'foo': 'bar'}]

py-ruamel-py

 na
['flow in block', 'Block scalar\n', {'foo': 'bar'}]

perl-tiny-json

 ni
YAML::Tiny failed to classify line '  "flow in block"' at /yaml/bin/perl-tiny-json line 12.

perl-tiny-perl

 ni
YAML::Tiny failed to classify line '  "flow in block"' at /yaml/bin/perl-tiny-perl line 15.