1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
#!/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 YAML::Tiny;
#####################################################################
# 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,
);
|