#####################################################################
# Main Tests
=== Properly ignore comments
--- yaml
---
a: b#content
c: d #comment
e:
- f #comment
- g# content
h: 'single' # comment
h2: 'single # content' # comment
i: "double" # comment
i2: "double # content" # comment
j: | # comment
literal # content
block # content
k: {} # comment
l: [] # comment
m: # comment
n: o
--- perl
[
{
a => 'b#content',
c => 'd',
e => [
'f',
'g# content',
],
h => 'single',
h2 => 'single # content',
i => 'double',
i2 => 'double # content',
j => "literal # content\nblock # content\n",
k => {},
l => [],
m => {
n => 'o',
},
},
]
--- noyamlpm
# Repeat, with otherwise illegal characters in the comments
=== Properly ignore comments (with otherwise illegal characters)
--- yaml
---
a: b#content
c: d #comment '"!&@%`
e:
- f #comment '"!&@%`
- g# content
h: 'single' # comment '"!&@%`
h2: 'single # content' # comment '"!&@%`
i: "double" # comment '"!&@%`
i2: "double # content" # comment '"!&@%`
j: | # comment '"!&@%`
literal # content
block # content
k: {} # comment '"!&@%`
l: [] # comment '"!&@%`
m: # comment '"!&@%`
n: o
--- perl
[
{
a => 'b#content',
c => 'd',
e => [
'f',
'g# content',
],
h => 'single',
h2 => 'single # content',
i => 'double',
i2 => 'double # content',
j => "literal # content\nblock # content\n",
k => {},
l => [],
m => {
n => 'o',
},
},
]
--- noyamlpm
####################################################################
# Comment on the Document Line
=== comment header
--- yaml
--- # Comment
foo: bar
--- perl
[ { foo => 'bar' } ]
--- noyamlpm
# Empty comments
=== empty_comment_in_list
--- yaml
---
- foo
\#
- bar
--- perl
[ [ 'foo', 'bar' ] ]
=== empty_comment_in_hash
--- yaml
---
foo: bar
\# foo
one: two
--- perl
[ { foo => 'bar', one => 'two' } ]