# YAML Test Matrix

--- &test-MUS6:03
  Title: Directive variants
  Tags: [ directive ]

YAML

%YAML 	 1.1
---

Expected Events

+STR
+DOC ---
=VAL :
-DOC
-STR

Expected JSON

null

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

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-xs-json

 json_ok

ruby-psych-json

 json_ok

lua-lyaml-json

 json_diff
{}

perl-syck-json

 json_diff
"%YAML \t 1.1 ---"

java-snakeengine-event

 error
Exception in thread "main" while scanning a directive
 in reader, line 1, column 1:
    %YAML 	 1.1
    ^
expected a digit, but found 	(9)
 in reader, line 1, column 7:
    %YAML 	 1.1
          ^

	at org.snakeyaml.engine.v2.scanner.ScannerImpl.scanYamlDirectiveNumber(ScannerImpl.java:1292)
	at org.snakeyaml.engine.v2.scanner.ScannerImpl.scanYamlDirectiveValue(ScannerImpl.java:1259)
	at org.snakeyaml.engine.v2.scanner.ScannerImpl.scanDirective(ScannerImpl.java:1201)
	at org.snakeyaml.engine.v2.scanner.ScannerImpl.fetchDirective(ScannerImpl.java:601)
	at org.snakeyaml.engine.v2.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:298)
	at org.snakeyaml.engine.v2.scanner.ScannerImpl.checkToken(ScannerImpl.java:193)
	at org.snakeyaml.engine.v2.parser.ParserImpl$ParseImplicitDocumentStart.produce(ParserImpl.java:246)
	at org.snakeyaml.engine.v2.parser.ParserImpl.lambda$produce$0(ParserImpl.java:185)
	at java.util.Optional.ifPresent(Optional.java:159)
	at org.snakeyaml.engine.v2.parser.ParserImpl.produce(ParserImpl.java:185)
	at org.snakeyaml.engine.v2.parser.ParserImpl.hasNext(ParserImpl.java:210)
	at org.yaml.editor.SnakeEngine2Events.yamlToEvents(SnakeEngine2Events.java:15)
	at org.yaml.editor.SnakeEngine2Events.main(SnakeEngine2Events.java:23)

java-snakeengine-json

 error
Exception in thread "main" while scanning a directive
 in 'reader', line 1, column 1:
    %YAML 	 1.1
    ^
expected a digit, but found 	(9)
 in 'reader', line 1, column 7:
    %YAML 	 1.1
          ^

	at org.yaml.snakeyaml.scanner.ScannerImpl.scanYamlDirectiveNumber(ScannerImpl.java:1396)
	at org.yaml.snakeyaml.scanner.ScannerImpl.scanYamlDirectiveValue(ScannerImpl.java:1360)
	at org.yaml.snakeyaml.scanner.ScannerImpl.scanDirective(ScannerImpl.java:1300)
	at org.yaml.snakeyaml.scanner.ScannerImpl.fetchDirective(ScannerImpl.java:659)
	at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:346)
	at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:251)
	at org.yaml.snakeyaml.parser.ParserImpl$ParseImplicitDocumentStart.produce(ParserImpl.java:214)
	at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:166)
	at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:156)
	at org.yaml.snakeyaml.composer.Composer.checkNode(Composer.java:94)
	at org.yaml.snakeyaml.constructor.BaseConstructor.checkData(BaseConstructor.java:124)
	at org.yaml.snakeyaml.Yaml$1.hasNext(Yaml.java:509)
	at org.yaml.editor.Snake2Json.yamlToJson(Snake2Json.java:20)
	at org.yaml.editor.Snake2Json.main(Snake2Json.java:27)

java-snakeyaml-event

 error
Exception in thread "main" while scanning a directive
 in 'reader', line 1, column 1:
    %YAML 	 1.1
    ^
expected a digit, but found 	(9)
 in 'reader', line 1, column 7:
    %YAML 	 1.1
          ^

	at org.yaml.snakeyaml.scanner.ScannerImpl.scanYamlDirectiveNumber(ScannerImpl.java:1396)
	at org.yaml.snakeyaml.scanner.ScannerImpl.scanYamlDirectiveValue(ScannerImpl.java:1360)
	at org.yaml.snakeyaml.scanner.ScannerImpl.scanDirective(ScannerImpl.java:1300)
	at org.yaml.snakeyaml.scanner.ScannerImpl.fetchDirective(ScannerImpl.java:659)
	at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:346)
	at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:251)
	at org.yaml.snakeyaml.parser.ParserImpl$ParseImplicitDocumentStart.produce(ParserImpl.java:214)
	at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:166)
	at org.yaml.snakeyaml.Yaml$3.hasNext(Yaml.java:677)
	at org.yaml.editor.Snake2Events.yamlToEvents(Snake2Events.java:134)
	at org.yaml.editor.Snake2Events.main(Snake2Events.java:142)

java-snakeyaml-json

 error
Exception in thread "main" while scanning a directive
 in 'reader', line 1, column 1:
    %YAML 	 1.1
    ^
expected a digit, but found 	(9)
 in 'reader', line 1, column 7:
    %YAML 	 1.1
          ^

	at org.yaml.snakeyaml.scanner.ScannerImpl.scanYamlDirectiveNumber(ScannerImpl.java:1396)
	at org.yaml.snakeyaml.scanner.ScannerImpl.scanYamlDirectiveValue(ScannerImpl.java:1360)
	at org.yaml.snakeyaml.scanner.ScannerImpl.scanDirective(ScannerImpl.java:1300)
	at org.yaml.snakeyaml.scanner.ScannerImpl.fetchDirective(ScannerImpl.java:659)
	at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:346)
	at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:251)
	at org.yaml.snakeyaml.parser.ParserImpl$ParseImplicitDocumentStart.produce(ParserImpl.java:214)
	at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:166)
	at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:156)
	at org.yaml.snakeyaml.composer.Composer.checkNode(Composer.java:94)
	at org.yaml.snakeyaml.constructor.BaseConstructor.checkData(BaseConstructor.java:124)
	at org.yaml.snakeyaml.Yaml$1.hasNext(Yaml.java:509)
	at org.yaml.editor.Snake2Json.yamlToJson(Snake2Json.java:20)
	at org.yaml.editor.Snake2Json.main(Snake2Json.java:27)

perl-tiny-json

 error
YAML::Tiny failed to classify line '%YAML 	 1.1' at /yaml/bin/perl-tiny-json line 12.

perl-tiny-perl

 error
YAML::Tiny failed to classify line '%YAML 	 1.1' at /yaml/bin/perl-tiny-perl line 15.

perl-yaml-json

 error
YAML Error: Expected separator '---'
   Code: YAML_PARSE_ERR_NO_SEPARATOR
   Line: 1
   Document: 2
 at /perl5/lib/perl5/YAML/Loader.pm line 88.

perl-yaml-perl

 error
YAML Error: Expected separator '---'
   Code: YAML_PARSE_ERR_NO_SEPARATOR
   Line: 1
   Document: 2
 at /perl5/lib/perl5/YAML/Loader.pm line 88.

py-pyyaml-event

 error
+STR
Traceback (most recent call last):
  File "/yaml/bin/py-pyyaml-event", line 7, in <module>
    for event in yaml.parse(sys.stdin.read()):
  File "/python/lib/python3.7/site-packages/yaml/__init__.py", line 46, in parse
    while loader.check_event():
  File "/python/lib/python3.7/site-packages/yaml/parser.py", line 98, in check_event
    self.current_event = self.state()
  File "/python/lib/python3.7/site-packages/yaml/parser.py", line 143, in parse_implicit_document_start
    StreamEndToken):
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 116, in check_token
    self.fetch_more_tokens()
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 177, in fetch_more_tokens
    return self.fetch_directive()
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 400, in fetch_directive
    self.tokens.append(self.scan_directive())
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 794, in scan_directive
    value = self.scan_yaml_directive_value(start_mark)
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 831, in scan_yaml_directive_value
    major = self.scan_yaml_directive_number(start_mark)
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 849, in scan_yaml_directive_number
    "expected a digit, but found %r" % ch, self.get_mark())
yaml.scanner.ScannerError: while scanning a directive
  in "<unicode string>", line 1, column 1:
    %YAML 	 1.1
    ^
expected a digit, but found '\t'
  in "<unicode string>", line 1, column 7:
    %YAML 	 1.1
          ^

py-pyyaml-json

 error
Traceback (most recent call last):
  File "/yaml/bin/py-pyyaml-json", line 19, in <module>
    for doc in yaml.load_all(sys.stdin.read(), Loader=yaml.FullLoader):
  File "/python/lib/python3.7/site-packages/yaml/__init__.py", line 92, in load_all
    while loader.check_data():
  File "/python/lib/python3.7/site-packages/yaml/constructor.py", line 32, in check_data
    return self.check_node()
  File "/python/lib/python3.7/site-packages/yaml/composer.py", line 22, in check_node
    return not self.check_event(StreamEndEvent)
  File "/python/lib/python3.7/site-packages/yaml/parser.py", line 98, in check_event
    self.current_event = self.state()
  File "/python/lib/python3.7/site-packages/yaml/parser.py", line 143, in parse_implicit_document_start
    StreamEndToken):
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 116, in check_token
    self.fetch_more_tokens()
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 177, in fetch_more_tokens
    return self.fetch_directive()
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 400, in fetch_directive
    self.tokens.append(self.scan_directive())
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 794, in scan_directive
    value = self.scan_yaml_directive_value(start_mark)
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 831, in scan_yaml_directive_value
    major = self.scan_yaml_directive_number(start_mark)
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 849, in scan_yaml_directive_number
    "expected a digit, but found %r" % ch, self.get_mark())
yaml.scanner.ScannerError: while scanning a directive
  in "<unicode string>", line 1, column 1:
    %YAML 	 1.1
    ^
expected a digit, but found '\t'
  in "<unicode string>", line 1, column 7:
    %YAML 	 1.1
          ^

py-pyyaml-py

 error
Traceback (most recent call last):
  File "/yaml/bin/py-pyyaml-py", line 36, in <module>
    for doc in yaml.load_all(sys.stdin.read(), Loader=yaml.FullLoader):
  File "/python/lib/python3.7/site-packages/yaml/__init__.py", line 92, in load_all
    while loader.check_data():
  File "/python/lib/python3.7/site-packages/yaml/constructor.py", line 32, in check_data
    return self.check_node()
  File "/python/lib/python3.7/site-packages/yaml/composer.py", line 22, in check_node
    return not self.check_event(StreamEndEvent)
  File "/python/lib/python3.7/site-packages/yaml/parser.py", line 98, in check_event
    self.current_event = self.state()
  File "/python/lib/python3.7/site-packages/yaml/parser.py", line 143, in parse_implicit_document_start
    StreamEndToken):
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 116, in check_token
    self.fetch_more_tokens()
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 177, in fetch_more_tokens
    return self.fetch_directive()
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 400, in fetch_directive
    self.tokens.append(self.scan_directive())
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 794, in scan_directive
    value = self.scan_yaml_directive_value(start_mark)
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 831, in scan_yaml_directive_value
    major = self.scan_yaml_directive_number(start_mark)
  File "/python/lib/python3.7/site-packages/yaml/scanner.py", line 849, in scan_yaml_directive_number
    "expected a digit, but found %r" % ch, self.get_mark())
yaml.scanner.ScannerError: while scanning a directive
  in "<unicode string>", line 1, column 1:
    %YAML 	 1.1
    ^
expected a digit, but found '\t'
  in "<unicode string>", line 1, column 7:
    %YAML 	 1.1
          ^

py-ruamel-event

 error
+STR
Traceback (most recent call last):
  File "/yaml/bin/py-ruamel-event", line 7, in <module>
    for event in ruamel.yaml.parse(sys.stdin.read()):
  File "/python/lib/python3.7/site-packages/ruamel/yaml/main.py", line 1024, in parse
    while loader._parser.check_event():
  File "/python/lib/python3.7/site-packages/ruamel/yaml/parser.py", line 146, in check_event
    self.current_event = self.state()
  File "/python/lib/python3.7/site-packages/ruamel/yaml/parser.py", line 196, in parse_implicit_document_start
    if not self.scanner.check_token(DirectiveToken, DocumentStartToken, StreamEndToken):
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 175, in check_token
    self.fetch_more_tokens()
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 242, in fetch_more_tokens
    return self.fetch_directive()
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 480, in fetch_directive
    self.tokens.append(self.scan_directive())
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 900, in scan_directive
    value = self.scan_yaml_directive_value(start_mark)
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 947, in scan_yaml_directive_value
    major = self.scan_yaml_directive_number(start_mark)
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 978, in scan_yaml_directive_number
    self.reader.get_mark(),
ruamel.yaml.scanner.ScannerError: while scanning a directive
  in "<unicode string>", line 1, column 1:
    %YAML 	 1.1
    ^ (line: 1)
expected a digit, but found '\t'
  in "<unicode string>", line 1, column 7:
    %YAML 	 1.1
          ^ (line: 1)

py-ruamel-json

 error
Traceback (most recent call last):
  File "/yaml/bin/py-ruamel-json", line 19, in <module>
    for doc in ruamel.yaml.load_all(sys.stdin.read(), Loader=ruamel.yaml.Loader):
  File "/python/lib/python3.7/site-packages/ruamel/yaml/main.py", line 1096, in load_all
    while loader._constructor.check_data():
  File "/python/lib/python3.7/site-packages/ruamel/yaml/constructor.py", line 108, in check_data
    return self.composer.check_node()
  File "/python/lib/python3.7/site-packages/ruamel/yaml/composer.py", line 60, in check_node
    return not self.parser.check_event(StreamEndEvent)
  File "/python/lib/python3.7/site-packages/ruamel/yaml/parser.py", line 146, in check_event
    self.current_event = self.state()
  File "/python/lib/python3.7/site-packages/ruamel/yaml/parser.py", line 196, in parse_implicit_document_start
    if not self.scanner.check_token(DirectiveToken, DocumentStartToken, StreamEndToken):
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 175, in check_token
    self.fetch_more_tokens()
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 242, in fetch_more_tokens
    return self.fetch_directive()
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 480, in fetch_directive
    self.tokens.append(self.scan_directive())
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 900, in scan_directive
    value = self.scan_yaml_directive_value(start_mark)
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 947, in scan_yaml_directive_value
    major = self.scan_yaml_directive_number(start_mark)
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 978, in scan_yaml_directive_number
    self.reader.get_mark(),
ruamel.yaml.scanner.ScannerError: while scanning a directive
  in "<unicode string>", line 1, column 1:
    %YAML 	 1.1
    ^ (line: 1)
expected a digit, but found '\t'
  in "<unicode string>", line 1, column 7:
    %YAML 	 1.1
          ^ (line: 1)

py-ruamel-py

 error
Traceback (most recent call last):
  File "/yaml/bin/py-ruamel-py", line 36, in <module>
    for doc in ruamel.yaml.load_all(sys.stdin.read(), Loader=ruamel.yaml.Loader):
  File "/python/lib/python3.7/site-packages/ruamel/yaml/main.py", line 1096, in load_all
    while loader._constructor.check_data():
  File "/python/lib/python3.7/site-packages/ruamel/yaml/constructor.py", line 108, in check_data
    return self.composer.check_node()
  File "/python/lib/python3.7/site-packages/ruamel/yaml/composer.py", line 60, in check_node
    return not self.parser.check_event(StreamEndEvent)
  File "/python/lib/python3.7/site-packages/ruamel/yaml/parser.py", line 146, in check_event
    self.current_event = self.state()
  File "/python/lib/python3.7/site-packages/ruamel/yaml/parser.py", line 196, in parse_implicit_document_start
    if not self.scanner.check_token(DirectiveToken, DocumentStartToken, StreamEndToken):
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 175, in check_token
    self.fetch_more_tokens()
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 242, in fetch_more_tokens
    return self.fetch_directive()
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 480, in fetch_directive
    self.tokens.append(self.scan_directive())
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 900, in scan_directive
    value = self.scan_yaml_directive_value(start_mark)
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 947, in scan_yaml_directive_value
    major = self.scan_yaml_directive_number(start_mark)
  File "/python/lib/python3.7/site-packages/ruamel/yaml/scanner.py", line 978, in scan_yaml_directive_number
    self.reader.get_mark(),
ruamel.yaml.scanner.ScannerError: while scanning a directive
  in "<unicode string>", line 1, column 1:
    %YAML 	 1.1
    ^ (line: 1)
expected a digit, but found '\t'
  in "<unicode string>", line 1, column 7:
    %YAML 	 1.1
          ^ (line: 1)

raku-yamlish-json

 error
Couldn't parse YAML
  in sub load-yamls at /raku/sources/44795C7AB0F35700F4CA9C3E2CC5C924EE4C608F (YAMLish) line 959
  in block <unit> at /yaml/bin/raku-yamlish-json line 6

raku-yamlish-raku

 error
Couldn't parse YAML
  in sub load-yamls at /raku/sources/44795C7AB0F35700F4CA9C3E2CC5C924EE4C608F (YAMLish) line 959
  in block <unit> at /yaml/bin/raku-yamlish-raku line 6

hs-reference-yeast

 na
Line  Col Char Byte Token|Content
   1    0    0    0 +DOC |
   1    0    0    0 +DIR |
   1    0    0    0 =SYNX|%
   1    1    1    1 =META|YAML
   1    5    5    5 =WSPC|.\x09.
   1    8    8    8 =META|1.1
   1   11   11   11 -DIR |
   1   11   11   11 =EOL |\x0a
   2    0   12   12 =HEAD|---
   2    3   15   15 +NODE|
   2    3   15   15 +VAL |
   2    3   15   15 -VAL |
   2    3   15   15 -NODE|
   2    3   15   15 =EOL |\x0a
   3    0   16   16 -DOC |

perl-pp-perl

 na
undef

perl-pplibyaml-perl

 na
undef

perl-syck-perl

 na
'%YAML 	 1.1 ---'

perl-xs-perl

 na
undef