# YAML Test Matrix

--- &test-5C5M
  Title: Spec Example 7.15. Flow Mappings
  Tags: [ flow, mapping, spec ]

YAML

- { one : two , three: four , }
- {five: six,seven : eight}

Expected Events

+STR
+DOC
+SEQ
+MAP {}
=VAL :one
=VAL :two
=VAL :three
=VAL :four
-MAP
+MAP {}
=VAL :five
=VAL :six
=VAL :seven
=VAL :eight
-MAP
-SEQ
-DOC
-STR

Expected JSON

[
{
"one": "two",
"three": "four"
},
{
"five": "six",
"seven": "eight"
}
]

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

perl-syck-json

 error
Syck parser (line 1, column 31): syntax error at /perl5/lib/perl5/x86_64-linux-thread-multi/YAML/Syck.pm line 60, <> line 1.

perl-syck-perl

 error
Syck parser (line 1, column 31): syntax error at /perl5/lib/perl5/x86_64-linux-thread-multi/YAML/Syck.pm line 60, <> line 1.

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 =WSPC|.
   1    2    2    2 +NODE|
   1    2    2    2 +MAP |
   1    2    2    2 =SYNX|{
   1    3    3    3 =WSPC|.
   1    4    4    4 +PAIR|
   1    4    4    4 +NODE|
   1    4    4    4 +VAL |
   1    4    4    4 =TEXT|one
   1    7    7    7 -VAL |
   1    7    7    7 -NODE|
   1    7    7    7 =WSPC|.
   1    8    8    8 =SYNX|:
   1    9    9    9 =WSPC|.
   1   10   10   10 +NODE|
   1   10   10   10 +VAL |
   1   10   10   10 =TEXT|two
   1   13   13   13 -VAL |
   1   13   13   13 -NODE|
   1   13   13   13 -PAIR|
   1   13   13   13 =WSPC|.
   1   14   14   14 =SYNX|,
   1   15   15   15 =WSPC|.
   1   16   16   16 +PAIR|
   1   16   16   16 +NODE|
   1   16   16   16 +VAL |
   1   16   16   16 =TEXT|three
   1   21   21   21 -VAL |
   1   21   21   21 -NODE|
   1   21   21   21 =SYNX|:
   1   22   22   22 =WSPC|.
   1   23   23   23 +NODE|
   1   23   23   23 +VAL |
   1   23   23   23 =TEXT|four
   1   27   27   27 -VAL |
   1   27   27   27 -NODE|
   1   27   27   27 -PAIR|
   1   27   27   27 =WSPC|.
   1   28   28   28 =SYNX|,
   1   29   29   29 =WSPC|.
   1   30   30   30 =SYNX|}
   1   31   31   31 -MAP |
   1   31   31   31 -NODE|
   1   31   31   31 =EOL |\x0a
   2    0   32   32 =SYNX|-
   2    1   33   33 =WSPC|.
   2    2   34   34 +NODE|
   2    2   34   34 +MAP |
   2    2   34   34 =SYNX|{
   2    3   35   35 +PAIR|
   2    3   35   35 +NODE|
   2    3   35   35 +VAL |
   2    3   35   35 =TEXT|five
   2    7   39   39 -VAL |
   2    7   39   39 -NODE|
   2    7   39   39 =SYNX|:
   2    8   40   40 =WSPC|.
   2    9   41   41 +NODE|
   2    9   41   41 +VAL |
   2    9   41   41 =TEXT|six
   2   12   44   44 -VAL |
   2   12   44   44 -NODE|
   2   12   44   44 -PAIR|
   2   12   44   44 =SYNX|,
   2   13   45   45 +PAIR|
   2   13   45   45 +NODE|
   2   13   45   45 +VAL |
   2   13   45   45 =TEXT|seven
   2   18   50   50 -VAL |
   2   18   50   50 -NODE|
   2   18   50   50 =WSPC|.
   2   19   51   51 =SYNX|:
   2   20   52   52 =WSPC|.
   2   21   53   53 +NODE|
   2   21   53   53 +VAL |
   2   21   53   53 =TEXT|eight
   2   26   58   58 -VAL |
   2   26   58   58 -NODE|
   2   26   58   58 -PAIR|
   2   26   58   58 =SYNX|}
   2   27   59   59 -MAP |
   2   27   59   59 -NODE|
   2   27   59   59 =EOL |\x0a
   3    0   60   60 -SEQ |
   3    0   60   60 -NODE|
   3    0   60   60 -DOC |

perl-pp-perl

 na
[
  {
    'one' => 'two',
    'three' => 'four'
  },
  {
    'five' => 'six',
    'seven' => 'eight'
  }
]

perl-pplibyaml-perl

 na
[
  {
    'one' => 'two',
    'three' => 'four'
  },
  {
    'five' => 'six',
    'seven' => 'eight'
  }
]

perl-xs-perl

 na
[
  {
    'one' => 'two',
    'three' => 'four'
  },
  {
    'five' => 'six',
    'seven' => 'eight'
  }
]

perl-yaml-perl

 na
[
  {
    'one' => 'two',
    'three' => 'four'
  },
  {
    'five' => 'six',
    'seven' => 'eight'
  }
]

py-pyyaml-py

 na
[{'one': 'two', 'three': 'four'}, {'five': 'six', 'seven': 'eight'}]

py-ruamel-py

 na
[{'one': 'two', 'three': 'four'}, {'five': 'six', 'seven': 'eight'}]

raku-yamlish-raku

 na
[
  {
    one   => "two".Str,
    three => "four".Str,
  },
  {
    five  => "six".Str,
    seven => "eight".Str,
  },
]

perl-tiny-json

 ni
YAML::Tiny found illegal characters in plain scalar: '{ one : two , three: four , }' at /yaml/bin/perl-tiny-json line 12.

perl-tiny-perl

 ni
YAML::Tiny found illegal characters in plain scalar: '{ one : two , three: four , }' at /yaml/bin/perl-tiny-perl line 15.