YAML Test Matrix

Test #FBC9 - Allowed characters in plain scalars

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

cpp-event

 ok

java-event

 ok

java-json

 json_ok

js-yaml-json

 json_ok

libyaml-event

 ok

luajit-json

 json_ok

nimyaml-event

 error
+STR
+DOC
+MAP
=VAL :safe
Traceback (most recent call last)
nimyaml_event.nim(8)     nimyaml_event
stream.nim(220)          finished
Error: unhandled exception: Illegal character in tag handle [YamlStreamError]

perl5-pegex-event

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

perl5-pm-json

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

perl5-pm-pl

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

perl5-pp-event

 ok

perl5-pp-json

 json_ok

perl5-pp-pl

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

perl5-syck-json

 json_ok

perl5-syck-pl

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

perl5-tiny-json

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

perl5-tiny-pl

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

perl5-xs-json

 json_ok

perl5-xs-pl

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

pyyaml-event

 ok

pyyaml-json

 json_ok

pyyaml-py

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

ruamel-event

 ok

ruamel-json

 json_ok

ruamel-py

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

ruby-json

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