# YAML Test Matrix

--- &test-LE5A
  Title: Spec Example 7.24. Flow Nodes
  Tags: [ alias, spec, tag ]

YAML

- !!str "a"
- 'b'
- &anchor "c"
- *anchor
- !!str

Expected Events

+STR
+DOC
+SEQ
=VAL <tag:yaml.org,2002:str> "a
=VAL 'b
=VAL &anchor "c
=ALI *anchor
=VAL <tag:yaml.org,2002:str> :
-SEQ
-DOC
-STR

Expected JSON

[
"a",
"b",
"c",
"c",
""
]

c-libfyaml-event

 ok

c-libyaml-event

 ok

cpp-rapidyaml-event

 ok

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

go-yaml-json

 json_ok

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

dotnet-yamldotnet-json

 json_diff
[
  "a",
  "b",
  "c",
  "c",
  null
]

perl-yaml-json

 json_diff
[
  "a",
  "b",
  "c",
  "c",
  null
]

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 +PROP|
   1    2    2    2 +TAG |
   1    2    2    2 +HAND|
   1    2    2    2 =SYNX|!
   1    3    3    3 =SYNX|!
   1    4    4    4 -HAND|
   1    4    4    4 =META|str
   1    7    7    7 -TAG |
   1    7    7    7 -PROP|
   1    7    7    7 =WSPC|.
   1    8    8    8 +VAL |
   1    8    8    8 =SYNX|"
   1    9    9    9 =TEXT|a
   1   10   10   10 =SYNX|"
   1   11   11   11 -VAL |
   1   11   11   11 -NODE|
   1   11   11   11 =EOL |\x0a
   2    0   12   12 =SYNX|-
   2    1   13   13 =WSPC|.
   2    2   14   14 +NODE|
   2    2   14   14 +VAL |
   2    2   14   14 =SYNX|'
   2    3   15   15 =TEXT|b
   2    4   16   16 =SYNX|'
   2    5   17   17 -VAL |
   2    5   17   17 -NODE|
   2    5   17   17 =EOL |\x0a
   3    0   18   18 =SYNX|-
   3    1   19   19 =WSPC|.
   3    2   20   20 +NODE|
   3    2   20   20 +PROP|
   3    2   20   20 +ANCH|
   3    2   20   20 =SYNX|&
   3    3   21   21 =META|anchor
   3    9   27   27 -ANCH|
   3    9   27   27 -PROP|
   3    9   27   27 =WSPC|.
   3   10   28   28 +VAL |
   3   10   28   28 =SYNX|"
   3   11   29   29 =TEXT|c
   3   12   30   30 =SYNX|"
   3   13   31   31 -VAL |
   3   13   31   31 -NODE|
   3   13   31   31 =EOL |\x0a
   4    0   32   32 =SYNX|-
   4    1   33   33 =WSPC|.
   4    2   34   34 +NODE|
   4    2   34   34 +ALI |
   4    2   34   34 =SYNX|*
   4    3   35   35 =META|anchor
   4    9   41   41 -ALI |
   4    9   41   41 -NODE|
   4    9   41   41 =EOL |\x0a
   5    0   42   42 =SYNX|-
   5    1   43   43 =WSPC|.
   5    2   44   44 +NODE|
   5    2   44   44 +PROP|
   5    2   44   44 +TAG |
   5    2   44   44 +HAND|
   5    2   44   44 =SYNX|!
   5    3   45   45 =SYNX|!
   5    4   46   46 -HAND|
   5    4   46   46 =META|str
   5    7   49   49 -TAG |
   5    7   49   49 -PROP|
   5    7   49   49 +VAL |
   5    7   49   49 -VAL |
   5    7   49   49 -NODE|
   5    7   49   49 =EOL |\x0a
   6    0   50   50 -SEQ |
   6    0   50   50 -NODE|
   6    0   50   50 -DOC |

perl-pp-perl

 na
[
  'a',
  'b',
  'c',
  'c',
  ''
]

perl-pplibyaml-perl

 na
[
  'a',
  'b',
  'c',
  'c',
  ''
]

perl-syck-perl

 na
[
  'a',
  'b',
  'c',
  'c',
  ''
]

perl-xs-perl

 na
[
  'a',
  'b',
  'c',
  ${\$VAR1->[2]},
  ''
]

perl-yaml-perl

 na
[
  'a',
  'b',
  'c',
  'c',
  undef
]

py-pyyaml-py

 na
['a', 'b', 'c', 'c', '']

py-ruamel-py

 na
['a', 'b', 'c', 'c', '']

perl-tiny-json

 ni
YAML::Tiny does not support a feature in line '!!str "a"' at /yaml/bin/perl-tiny-json line 12.

perl-tiny-perl

 ni
YAML::Tiny does not support a feature in line '!!str "a"' at /yaml/bin/perl-tiny-perl line 15.