# YAML Test Matrix

--- &test-AZW3
  Title: Lookahead test cases
  Tags: [ edge, mapping ]

YAML

- bla"keks: foo
- bla]keks: foo

Expected Events

+STR
+DOC
+SEQ
+MAP
=VAL :bla"keks
=VAL :foo
-MAP
+MAP
=VAL :bla]keks
=VAL :foo
-MAP
-SEQ
-DOC
-STR

Expected JSON

[
{
"bla\"keks": "foo"
},
{
"bla]keks": "foo"
}
]

c-libfyaml-event

 ok

c-libyaml-event

 ok

cpp-rapidyaml-event

 ok

cpp-yamlcpp-event

 ok

dotnet-yamldotnet-event

 ok

hs-hsyaml-event

 ok

java-snakeengine-event

 ok

java-snakeyaml-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

java-snakeengine-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-tiny-json

 json_ok

perl-xs-json

 json_ok

py-pyyaml-json

 json_ok

py-ruamel-json

 json_ok

raku-yamlish-json

 json_ok

ruby-psych-json

 json_ok

perl-yaml-json

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

perl-yaml-perl

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

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 =DENT|.
   1    2    2    2 +NODE|
   1    2    2    2 +MAP |
   1    2    2    2 +PAIR|
   1    2    2    2 +NODE|
   1    2    2    2 +VAL |
   1    2    2    2 =TEXT|bla"keks
   1   10   10   10 -VAL |
   1   10   10   10 -NODE|
   1   10   10   10 =SYNX|:
   1   11   11   11 =WSPC|.
   1   12   12   12 +NODE|
   1   12   12   12 +VAL |
   1   12   12   12 =TEXT|foo
   1   15   15   15 -VAL |
   1   15   15   15 -NODE|
   1   15   15   15 =EOL |\x0a
   2    0   16   16 -PAIR|
   2    0   16   16 -MAP |
   2    0   16   16 -NODE|
   2    0   16   16 =SYNX|-
   2    1   17   17 =DENT|.
   2    2   18   18 +NODE|
   2    2   18   18 +MAP |
   2    2   18   18 +PAIR|
   2    2   18   18 +NODE|
   2    2   18   18 +VAL |
   2    2   18   18 =TEXT|bla]keks
   2   10   26   26 -VAL |
   2   10   26   26 -NODE|
   2   10   26   26 =SYNX|:
   2   11   27   27 =WSPC|.
   2   12   28   28 +NODE|
   2   12   28   28 +VAL |
   2   12   28   28 =TEXT|foo
   2   15   31   31 -VAL |
   2   15   31   31 -NODE|
   2   15   31   31 =EOL |\x0a
   3    0   32   32 -PAIR|
   3    0   32   32 -MAP |
   3    0   32   32 -NODE|
   3    0   32   32 -SEQ |
   3    0   32   32 -NODE|
   3    0   32   32 -DOC |

perl-pp-perl

 na
[
  {
    'bla"keks' => 'foo'
  },
  {
    'bla]keks' => 'foo'
  }
]

perl-pplibyaml-perl

 na
[
  {
    'bla"keks' => 'foo'
  },
  {
    'bla]keks' => 'foo'
  }
]

perl-syck-perl

 na
[
  {
    'bla"keks' => 'foo'
  },
  {
    'bla]keks' => 'foo'
  }
]

perl-tiny-perl

 na
[
  {
    'bla"keks' => 'foo'
  },
  {
    'bla]keks' => 'foo'
  }
]

perl-xs-perl

 na
[
  {
    'bla"keks' => 'foo'
  },
  {
    'bla]keks' => 'foo'
  }
]

py-pyyaml-py

 na
[{'bla"keks': 'foo'}, {'bla]keks': 'foo'}]

py-ruamel-py

 na
[{'bla"keks': 'foo'}, {'bla]keks': 'foo'}]

raku-yamlish-raku

 na
[
  {
    bla"keks => "foo".Str,
  },
  {
    bla]keks => "foo".Str,
  },
]