# YAML Test Matrix

--- &test-LP6E
  Title: Whitespace After Scalars in Flow
  Tags: [ flow, scalar, whitespace ]

YAML

- [a, b , c ]
- { "a"  : b
   , c : 'd' ,
   e   : "f"
  }
- [      ]

Expected Events

+STR
+DOC
+SEQ
+SEQ []
=VAL :a
=VAL :b
=VAL :c
-SEQ
+MAP {}
=VAL "a
=VAL :b
=VAL :c
=VAL 'd
=VAL :e
=VAL "f
-MAP
+SEQ []
-SEQ
-SEQ
-DOC
-STR

Expected JSON

[
[
"a",
"b",
"c"
],
{
"a": "b",
"c": "d",
"e": "f"
},
[]
]

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

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",
    "c"
  ],
  {
    "a": "b",
    "c": "d",
    "e": "f"
  },
  {}
]

perl-yaml-json

 error
YAML Error: Inconsistent indentation level
   Code: YAML_PARSE_ERR_INCONSISTENT_INDENTATION
   Line: 3
   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: 3
   Document: 1
 at /perl5/lib/perl5/YAML/Loader.pm line 804.

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 +SEQ |
   1    2    2    2 =SYNX|[
   1    3    3    3 +NODE|
   1    3    3    3 +VAL |
   1    3    3    3 =TEXT|a
   1    4    4    4 -VAL |
   1    4    4    4 -NODE|
   1    4    4    4 =SYNX|,
   1    5    5    5 =WSPC|.
   1    6    6    6 +NODE|
   1    6    6    6 +VAL |
   1    6    6    6 =TEXT|b
   1    7    7    7 -VAL |
   1    7    7    7 -NODE|
   1    7    7    7 =WSPC|.
   1    8    8    8 =SYNX|,
   1    9    9    9 =WSPC|.
   1   10   10   10 +NODE|
   1   10   10   10 +VAL |
   1   10   10   10 =TEXT|c
   1   11   11   11 -VAL |
   1   11   11   11 -NODE|
   1   11   11   11 =WSPC|.
   1   12   12   12 =SYNX|]
   1   13   13   13 -SEQ |
   1   13   13   13 -NODE|
   1   13   13   13 =EOL |\x0a
   2    0   14   14 =SYNX|-
   2    1   15   15 =WSPC|.
   2    2   16   16 +NODE|
   2    2   16   16 +MAP |
   2    2   16   16 =SYNX|{
   2    3   17   17 =WSPC|.
   2    4   18   18 +PAIR|
   2    4   18   18 +NODE|
   2    4   18   18 +VAL |
   2    4   18   18 =SYNX|"
   2    5   19   19 =TEXT|a
   2    6   20   20 =SYNX|"
   2    7   21   21 -VAL |
   2    7   21   21 -NODE|
   2    7   21   21 =WSPC|..
   2    9   23   23 =SYNX|:
   2   10   24   24 =WSPC|.
   2   11   25   25 +NODE|
   2   11   25   25 +VAL |
   2   11   25   25 =TEXT|b
   2   12   26   26 -VAL |
   2   12   26   26 -NODE|
   2   12   26   26 -PAIR|
   2   12   26   26 =EOL |\x0a
   3    0   27   27 =DENT|.
   3    1   28   28 =WSPC|..
   3    3   30   30 =SYNX|,
   3    4   31   31 =WSPC|.
   3    5   32   32 +PAIR|
   3    5   32   32 +NODE|
   3    5   32   32 +VAL |
   3    5   32   32 =TEXT|c
   3    6   33   33 -VAL |
   3    6   33   33 -NODE|
   3    6   33   33 =WSPC|.
   3    7   34   34 =SYNX|:
   3    8   35   35 =WSPC|.
   3    9   36   36 +NODE|
   3    9   36   36 +VAL |
   3    9   36   36 =SYNX|'
   3   10   37   37 =TEXT|d
   3   11   38   38 =SYNX|'
   3   12   39   39 -VAL |
   3   12   39   39 -NODE|
   3   12   39   39 -PAIR|
   3   12   39   39 =WSPC|.
   3   13   40   40 =SYNX|,
   3   14   41   41 =EOL |\x0a
   4    0   42   42 =DENT|.
   4    1   43   43 =WSPC|..
   4    3   45   45 +PAIR|
   4    3   45   45 +NODE|
   4    3   45   45 +VAL |
   4    3   45   45 =TEXT|e
   4    4   46   46 -VAL |
   4    4   46   46 -NODE|
   4    4   46   46 =WSPC|...
   4    7   49   49 =SYNX|:
   4    8   50   50 =WSPC|.
   4    9   51   51 +NODE|
   4    9   51   51 +VAL |
   4    9   51   51 =SYNX|"
   4   10   52   52 =TEXT|f
   4   11   53   53 =SYNX|"
   4   12   54   54 -VAL |
   4   12   54   54 -NODE|
   4   12   54   54 -PAIR|
   4   12   54   54 =EOL |\x0a
   5    0   55   55 =DENT|.
   5    1   56   56 =WSPC|.
   5    2   57   57 =SYNX|}
   5    3   58   58 -MAP |
   5    3   58   58 -NODE|
   5    3   58   58 =EOL |\x0a
   6    0   59   59 =SYNX|-
   6    1   60   60 =WSPC|.
   6    2   61   61 +NODE|
   6    2   61   61 +SEQ |
   6    2   61   61 =SYNX|[
   6    3   62   62 =WSPC|......
   6    9   68   68 =SYNX|]
   6   10   69   69 -SEQ |
   6   10   69   69 -NODE|
   6   10   69   69 =EOL |\x0a
   7    0   70   70 -SEQ |
   7    0   70   70 -NODE|
   7    0   70   70 -DOC |

perl-pp-perl

 na
[
  [
    'a',
    'b',
    'c'
  ],
  {
    'a' => 'b',
    'c' => 'd',
    'e' => 'f'
  },
  []
]

perl-pplibyaml-perl

 na
[
  [
    'a',
    'b',
    'c'
  ],
  {
    'a' => 'b',
    'c' => 'd',
    'e' => 'f'
  },
  []
]

perl-syck-perl

 na
[
  [
    'a',
    'b',
    'c'
  ],
  {
    'a' => 'b',
    'c' => 'd',
    'e' => 'f'
  },
  []
]

perl-xs-perl

 na
[
  [
    'a',
    'b',
    'c'
  ],
  {
    'a' => 'b',
    'c' => 'd',
    'e' => 'f'
  },
  []
]

py-pyyaml-py

 na
[['a', 'b', 'c'], {'a': 'b', 'c': 'd', 'e': 'f'}, []]

py-ruamel-py

 na
[['a', 'b', 'c'], {'a': 'b', 'c': 'd', 'e': 'f'}, []]

perl-tiny-json

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

perl-tiny-perl

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