#!/usr/bin/perl # Testing of inline comments. These comments can be quite useful in config # files and people will expect them to work. use strict; BEGIN { $| = 1; $^W = 1; } use File::Spec::Functions ':ALL'; use t::lib::Test; use Test::More tests(2); use CPAN::Meta::YAML; ##################################################################### # Main Tests yaml_ok( <<'END_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 END_YAML [ { 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', }, }, ], 'Properly ignore comments', noyamlpm => 1, ); # Repeat, with otherwise illegal characters in the comments yaml_ok( <<'END_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 END_YAML [ { 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', }, }, ], 'Properly ignore comments (with otherwise illegal characters)', noyamlpm => 1, );