# YAML Test Matrix

--- &test-S9E8
  Title: Spec Example 5.3. Block Structure Indicators
  Tags: [ explicit-key, mapping, sequence, spec ]

YAML

sequence:
- one
- two
mapping:
  ? sky
  : blue
  sea : green

Expected Events

+STR
+DOC
+MAP
=VAL :sequence
+SEQ
=VAL :one
=VAL :two
-SEQ
=VAL :mapping
+MAP
=VAL :sky
=VAL :blue
=VAL :sea
=VAL :green
-MAP
-MAP
-DOC
-STR

Expected JSON

{
"mapping": {
"sea": "green",
"sky": "blue"
},
"sequence": [
"one",
"two"
]
}

c-libfyaml-event

 ok

c-libyaml-event

 ok

cpp-rapidyaml-event

 ok

cpp-yamlcpp-event

 ok

dotnet-yamldotnet-event

 ok

hs-hsyaml-event

 ok

java-snakeengine-event

 ok

java-snakeyaml-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

rust-yamlrust-event

 ok

c-libfyaml-json

 json_ok

dotnet-yamldotnet-json

 json_ok

go-yaml-json

 json_ok

hs-hsyaml-json

 json_ok

java-snakeengine-json

 json_ok

java-snakeyaml-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

perl-yaml-json

 json_ok

py-pyyaml-json

 json_ok

py-ruamel-json

 json_ok

raku-yamlish-json

 json_ok

ruby-psych-json

 json_ok

hs-reference-yeast

 na
Line  Col Char Byte Token|Content
   1    0    0    0 +DOC |
   1    0    0    0 +NODE|
   1    0    0    0 +MAP |
   1    0    0    0 +PAIR|
   1    0    0    0 +NODE|
   1    0    0    0 +VAL |
   1    0    0    0 =TEXT|sequence
   1    8    8    8 -VAL |
   1    8    8    8 -NODE|
   1    8    8    8 =SYNX|:
   1    9    9    9 +NODE|
   1    9    9    9 =EOL |\x0a
   2    0   10   10 +SEQ |
   2    0   10   10 =SYNX|-
   2    1   11   11 =WSPC|.
   2    2   12   12 +NODE|
   2    2   12   12 +VAL |
   2    2   12   12 =TEXT|one
   2    5   15   15 -VAL |
   2    5   15   15 -NODE|
   2    5   15   15 =EOL |\x0a
   3    0   16   16 =SYNX|-
   3    1   17   17 =WSPC|.
   3    2   18   18 +NODE|
   3    2   18   18 +VAL |
   3    2   18   18 =TEXT|two
   3    5   21   21 -VAL |
   3    5   21   21 -NODE|
   3    5   21   21 =EOL |\x0a
   4    0   22   22 -SEQ |
   4    0   22   22 -NODE|
   4    0   22   22 -PAIR|
   4    0   22   22 +PAIR|
   4    0   22   22 +NODE|
   4    0   22   22 +VAL |
   4    0   22   22 =TEXT|mapping
   4    7   29   29 -VAL |
   4    7   29   29 -NODE|
   4    7   29   29 =SYNX|:
   4    8   30   30 +NODE|
   4    8   30   30 =EOL |\x0a
   5    0   31   31 +MAP |
   5    0   31   31 =DENT|..
   5    2   33   33 +PAIR|
   5    2   33   33 =SYNX|?
   5    3   34   34 =WSPC|.
   5    4   35   35 +NODE|
   5    4   35   35 +VAL |
   5    4   35   35 =TEXT|sky
   5    7   38   38 -VAL |
   5    7   38   38 -NODE|
   5    7   38   38 =EOL |\x0a
   6    0   39   39 =DENT|..
   6    2   41   41 =SYNX|:
   6    3   42   42 =WSPC|.
   6    4   43   43 +NODE|
   6    4   43   43 +VAL |
   6    4   43   43 =TEXT|blue
   6    8   47   47 -VAL |
   6    8   47   47 -NODE|
   6    8   47   47 =EOL |\x0a
   7    0   48   48 -PAIR|
   7    0   48   48 =DENT|..
   7    2   50   50 +PAIR|
   7    2   50   50 +NODE|
   7    2   50   50 +VAL |
   7    2   50   50 =TEXT|sea
   7    5   53   53 -VAL |
   7    5   53   53 -NODE|
   7    5   53   53 =WSPC|.
   7    6   54   54 =SYNX|:
   7    7   55   55 =WSPC|.
   7    8   56   56 +NODE|
   7    8   56   56 +VAL |
   7    8   56   56 =TEXT|green
   7   13   61   61 -VAL |
   7   13   61   61 -NODE|
   7   13   61   61 =EOL |\x0a
   8    0   62   62 -PAIR|
   8    0   62   62 -MAP |
   8    0   62   62 -NODE|
   8    0   62   62 -PAIR|
   8    0   62   62 -MAP |
   8    0   62   62 -NODE|
   8    0   62   62 -DOC |

perl-pp-perl

 na
{
  'mapping' => {
                 'sea' => 'green',
                 'sky' => 'blue'
               },
  'sequence' => [
                  'one',
                  'two'
                ]
}

perl-pplibyaml-perl

 na
{
  'mapping' => {
                 'sea' => 'green',
                 'sky' => 'blue'
               },
  'sequence' => [
                  'one',
                  'two'
                ]
}

perl-syck-perl

 na
{
  'mapping' => {
                 'sea' => 'green',
                 'sky' => 'blue'
               },
  'sequence' => [
                  'one',
                  'two'
                ]
}

perl-xs-perl

 na
{
  'mapping' => {
                 'sea' => 'green',
                 'sky' => 'blue'
               },
  'sequence' => [
                  'one',
                  'two'
                ]
}

perl-yaml-perl

 na
{
  'mapping' => {
                 'sea' => 'green',
                 'sky' => 'blue'
               },
  'sequence' => [
                  'one',
                  'two'
                ]
}

py-pyyaml-py

 na
{'mapping': {'sea': 'green', 'sky': 'blue'}, 'sequence': ['one', 'two']}

py-ruamel-py

 na
{'mapping': {'sea': 'green', 'sky': 'blue'}, 'sequence': ['one', 'two']}

raku-yamlish-raku

 na
{
  mapping  => {
    sea => "green".Str,
    sky => "blue".Str,
  },
  sequence => [
    "one".Str,
    "two".Str,
  ],
}

perl-tiny-json

 ni
YAML::Tiny does not support a feature in line '  ? sky' at /yaml/bin/perl-tiny-json line 12.

perl-tiny-perl

 ni
YAML::Tiny does not support a feature in line '  ? sky' at /yaml/bin/perl-tiny-perl line 15.