# YAML Test Matrix

--- &test-5WE3
  Title: Spec Example 8.17. Explicit Block Mapping Entries
  Tags: [ comment, literal, mapping, spec ]

YAML

? explicit key # Empty value
? |
  block key
: - one # Explicit compact
  - two # block value

Expected Events

+STR
+DOC
+MAP
=VAL :explicit key
=VAL :
=VAL |block key\n
+SEQ
=VAL :one
=VAL :two
-SEQ
-MAP
-DOC
-STR

Expected JSON

{
"explicit key": null,
"block key\n": [
"one",
"two"
]
}

cpp-event

 ok

hs-yaml-event

 ok

java-event

 ok

js-event

 ok

libyaml-event

 ok

nimyaml-event

 ok

perl5-pp-event

 ok

pyyaml-event

 ok

ruamel-event

 ok

hs-yaml-json

 json_ok

js-json

 json_ok

js-yaml-json

 json_ok

perl5-pp-json

 json_ok

perl5-xs-json

 json_ok

pyyaml-json

 json_ok

ruamel-json

 json_ok

ruby-json

 json_ok

java-json

 json_diff
{
  "block key\n": [
    "one",
    "two"
  ]
}

luajit-json

 json_diff
{
  "block key\n": [
    "one",
    "two"
  ],
  "explicit key": ""
}

perl5-pegex-event

 error
Maximum parsing rules reached (1000)

perl5-pm-json

 error
YAML Error: Invalid element in map
   Code: YAML_LOAD_ERR_BAD_MAP_ELEMENT
   Line: 2
   Document: 1
 at /lib/perl5/YAML/Loader.pm line 360.

perl5-pm-pl

 error
YAML Error: Invalid element in map
   Code: YAML_LOAD_ERR_BAD_MAP_ELEMENT
   Line: 2
   Document: 1
 at /lib/perl5/YAML/Loader.pm line 360.

perl5-syck-json

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

perl5-syck-pl

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

perl5-tiny-json

 error
YAML::Tiny does not support a feature in line '? explicit key # Empty value' at /bin/perl5-tiny-json line 12.

perl5-tiny-pl

 error
YAML::Tiny does not support a feature in line '? explicit key # Empty value' at /bin/perl5-tiny-pl line 15.

perl5-pp-pl

 na
{
  'block key
' => [
                  'one',
                  'two'
                ],
  'explicit key' => undef
}

perl5-xs-pl

 na
{
  'block key
' => [
                    'one',
                    'two'
                  ],
  'explicit key' => undef
}

pyyaml-py

 na
{'block key\n': ['one', 'two'], 'explicit key': None}

ruamel-py

 na
{'block key\n': ['one', 'two'], 'explicit key': None}