# YAML Test Matrix

--- &test-FBC9
  Title: Allowed characters in plain scalars
  Tags: [ scalar ]

YAML

safe: a!"#$%&'()*+,-./09:;<=>?@AZ[\]^_`az{|}~
     !"#$%&'()*+,-./09:;<=>?@AZ[\]^_`az{|}~
safe question mark: ?foo
safe colon: :foo
safe dash: -foo

Expected Events

+STR
+DOC
+MAP
=VAL :safe
=VAL :a!"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~ !"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~
=VAL :safe question mark
=VAL :?foo
=VAL :safe colon
=VAL ::foo
=VAL :safe dash
=VAL :-foo
-MAP
-DOC
-STR

Expected JSON

{
"safe": "a!\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~ !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~",
"safe colon": ":foo",
"safe dash": "-foo",
"safe question mark": "?foo"
}

c-libfyaml-event

 ok

c-libyaml-event

 ok

cpp-yamlcpp-event

 ok

dotnet-yamldotnet-event

 ok

hs-hsyaml-event

 ok

java-snakeyaml-event

 ok

js-yaml-event

 ok

perl-pp-event

 ok

perl-pplibyaml-event

 ok

py-pyyaml-event

 ok

py-ruamel-event

 ok

c-libfyaml-json

 json_ok

dotnet-yamldotnet-json

 json_ok

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

py-pyyaml-json

 json_ok

py-ruamel-json

 json_ok

ruby-psych-json

 json_diff
{
  "safe": "a!\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~ !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~",
  "safe colon": "foo",
  "safe dash": "-foo",
  "safe question mark": "?foo"
}

nim-nimyaml-event

 error
+STR
+DOC
+MAP
=VAL :safe
/buildutils/nimyaml_event.nim(8) nimyaml_event
/tmp/NimYAML-0.13.1/yaml/stream.nim(223) finished
Error: unhandled exception: Illegal character in tag handle [YamlStreamError]

perl-tiny-json

 error
YAML::Tiny found bad indenting in line '     !"#$%&'()*+,-./09:;<=>?@AZ[\]^_`az{|}~' at /yaml/bin/perl-tiny-json line 12.

perl-tiny-perl

 error
YAML::Tiny found bad indenting in line '     !"#$%&'()*+,-./09:;<=>?@AZ[\]^_`az{|}~' at /yaml/bin/perl-tiny-perl line 15.

perl-yaml-json

 error
YAML Error: Inconsistent indentation level
   Code: YAML_PARSE_ERR_INCONSISTENT_INDENTATION
   Line: 2
   Document: 1
 at /perl5/lib/perl5/YAML/Loader.pm line 804.

perl-yaml-perl

 error
YAML Error: Inconsistent indentation level
   Code: YAML_PARSE_ERR_INCONSISTENT_INDENTATION
   Line: 2
   Document: 1
 at /perl5/lib/perl5/YAML/Loader.pm line 804.

perl-pp-perl

 na
{
  'safe' => 'a!"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~ !"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~',
  'safe colon' => ':foo',
  'safe dash' => '-foo',
  'safe question mark' => '?foo'
}

perl-pplibyaml-perl

 na
{
  'safe' => 'a!"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~ !"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~',
  'safe colon' => ':foo',
  'safe dash' => '-foo',
  'safe question mark' => '?foo'
}

perl-syck-perl

 na
{
  'safe' => 'a!"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~ !"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~',
  'safe colon' => ':foo',
  'safe dash' => '-foo',
  'safe question mark' => '?foo'
}

perl-xs-perl

 na
{
  'safe' => 'a!"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~ !"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~',
  'safe colon' => ':foo',
  'safe dash' => '-foo',
  'safe question mark' => '?foo'
}

py-pyyaml-py

 na
{'safe': 'a!"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~ '
         '!"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~',
 'safe colon': ':foo',
 'safe dash': '-foo',
 'safe question mark': '?foo'}

py-ruamel-py

 na
{'safe': 'a!"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~ '
         '!"#$%&\'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~',
 'safe colon': ':foo',
 'safe dash': '-foo',
 'safe question mark': '?foo'}