# YAML Test Matrix

--- &test-9BXH
  Title: Multiline doublequoted flow mapping key without value
  Tags: [ double, flow, mapping ]

YAML

---
- { "single line", a: b}
- { "multi
  line", a: b}

Expected Events

+STR
+DOC ---
+SEQ
+MAP {}
=VAL "single line
=VAL :
=VAL :a
=VAL :b
-MAP
+MAP {}
=VAL "multi line
=VAL :
=VAL :a
=VAL :b
-MAP
-SEQ
-DOC
-STR

Expected JSON

[
{
"a": "b",
"single line": null
},
{
"a": "b",
"multi line": null
}
]

c-libfyaml-event

 ok

c-libyaml-event

 ok

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

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

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

lua-lyaml-json

 json_diff
[
  {
    "a": "b",
    "single line": {}
  },
  {
    "a": "b",
    "multi line": {}
  }
]

cpp-yamlcpp-event

 error
+STR
+DOC
+SEQ
+MAP {}
=VAL :single line
=VAL :
=VAL :a
=VAL :b
-MAP
+MAP {}
=VAL :
=VAL :
Exception:
yaml-cpp: error at line 3, column 5: end of map flow not found

perl-yaml-json

 error
YAML Error: Can't parse inline map
   Code: YAML_PARSE_ERR_INLINE_MAP
   Line: 3
   Document: 1
 at /perl5/lib/perl5/YAML/Loader.pm line 522.

perl-yaml-perl

 error
YAML Error: Can't parse inline map
   Code: YAML_PARSE_ERR_INLINE_MAP
   Line: 3
   Document: 1
 at /perl5/lib/perl5/YAML/Loader.pm line 522.

hs-reference-yeast

 na
Line  Col Char Byte Token|Content
   1    0    0    0 +DOC |
   1    0    0    0 =HEAD|---
   1    3    3    3 +NODE|
   1    3    3    3 =EOL |\x0a
   2    0    4    4 +SEQ |
   2    0    4    4 =SYNX|-
   2    1    5    5 =WSPC|.
   2    2    6    6 +NODE|
   2    2    6    6 +MAP |
   2    2    6    6 =SYNX|{
   2    3    7    7 =WSPC|.
   2    4    8    8 +PAIR|
   2    4    8    8 +NODE|
   2    4    8    8 +VAL |
   2    4    8    8 =SYNX|"
   2    5    9    9 =TEXT|single.line
   2   16   20   20 =SYNX|"
   2   17   21   21 -VAL |
   2   17   21   21 -NODE|
   2   17   21   21 +NODE|
   2   17   21   21 +VAL |
   2   17   21   21 -VAL |
   2   17   21   21 -NODE|
   2   17   21   21 -PAIR|
   2   17   21   21 =SYNX|,
   2   18   22   22 =WSPC|.
   2   19   23   23 +PAIR|
   2   19   23   23 +NODE|
   2   19   23   23 +VAL |
   2   19   23   23 =TEXT|a
   2   20   24   24 -VAL |
   2   20   24   24 -NODE|
   2   20   24   24 =SYNX|:
   2   21   25   25 =WSPC|.
   2   22   26   26 +NODE|
   2   22   26   26 +VAL |
   2   22   26   26 =TEXT|b
   2   23   27   27 -VAL |
   2   23   27   27 -NODE|
   2   23   27   27 -PAIR|
   2   23   27   27 =SYNX|}
   2   24   28   28 -MAP |
   2   24   28   28 -NODE|
   2   24   28   28 =EOL |\x0a
   3    0   29   29 =SYNX|-
   3    1   30   30 =WSPC|.
   3    2   31   31 +NODE|
   3    2   31   31 +MAP |
   3    2   31   31 =SYNX|{
   3    3   32   32 =WSPC|.
   3    4   33   33 +PAIR|
   3    4   33   33 +NODE|
   3    4   33   33 +VAL |
   3    4   33   33 =SYNX|"
   3    5   34   34 =TEXT|multi
   3   10   39   39 =FOLD|\x0a
   4    0   40   40 =DENT|.
   4    1   41   41 =WSPC|.
   4    2   42   42 =TEXT|line
   4    6   46   46 =SYNX|"
   4    7   47   47 -VAL |
   4    7   47   47 -NODE|
   4    7   47   47 +NODE|
   4    7   47   47 +VAL |
   4    7   47   47 -VAL |
   4    7   47   47 -NODE|
   4    7   47   47 -PAIR|
   4    7   47   47 =SYNX|,
   4    8   48   48 =WSPC|.
   4    9   49   49 +PAIR|
   4    9   49   49 +NODE|
   4    9   49   49 +VAL |
   4    9   49   49 =TEXT|a
   4   10   50   50 -VAL |
   4   10   50   50 -NODE|
   4   10   50   50 =SYNX|:
   4   11   51   51 =WSPC|.
   4   12   52   52 +NODE|
   4   12   52   52 +VAL |
   4   12   52   52 =TEXT|b
   4   13   53   53 -VAL |
   4   13   53   53 -NODE|
   4   13   53   53 -PAIR|
   4   13   53   53 =SYNX|}
   4   14   54   54 -MAP |
   4   14   54   54 -NODE|
   4   14   54   54 =EOL |\x0a
   5    0   55   55 -SEQ |
   5    0   55   55 -NODE|
   5    0   55   55 -DOC |

perl-pp-perl

 na
[
  {
    'a' => 'b',
    'single line' => undef
  },
  {
    'a' => 'b',
    'multi line' => undef
  }
]

perl-pplibyaml-perl

 na
[
  {
    'a' => 'b',
    'single line' => undef
  },
  {
    'a' => 'b',
    'multi line' => undef
  }
]

perl-syck-perl

 na
[
  {
    'a' => 'b',
    'single line' => undef
  },
  {
    'a' => 'b',
    'multi line' => undef
  }
]

perl-xs-perl

 na
[
  {
    'a' => 'b',
    'single line' => undef
  },
  {
    'a' => 'b',
    'multi line' => undef
  }
]

py-pyyaml-py

 na
[{'a': 'b', 'single line': None}, {'a': 'b', 'multi line': None}]

py-ruamel-py

 na
[{'a': 'b', 'single line': None}, {'a': 'b', 'multi line': None}]

perl-tiny-json

 ni
YAML::Tiny found illegal characters in plain scalar: '{ "single line", a: b}' at /yaml/bin/perl-tiny-json line 12.

perl-tiny-perl

 ni
YAML::Tiny found illegal characters in plain scalar: '{ "single line", a: b}' at /yaml/bin/perl-tiny-perl line 15.