107 lines
3.3 KiB
JSON
107 lines
3.3 KiB
JSON
{
|
|
"__ATTN__": "Do not edit this file; changes belong in the appropriate YAML file.",
|
|
"overview": "Comment tags represent content that should never appear in the resulting\noutput.\n\nThe tag's content may contain any substring (including newlines) EXCEPT the\nclosing delimiter.\n\nComment tags SHOULD be treated as standalone when appropriate.\n",
|
|
"tests": [
|
|
{
|
|
"name": "Inline",
|
|
"desc": "Comment blocks should be removed from the template.",
|
|
"data": {
|
|
},
|
|
"template": "12345{{! Comment Block! }}67890",
|
|
"expected": "1234567890"
|
|
},
|
|
{
|
|
"name": "Multiline",
|
|
"desc": "Multiline comments should be permitted.",
|
|
"data": {
|
|
},
|
|
"template": "12345{{!\n This is a\n multi-line comment...\n}}67890\n",
|
|
"expected": "1234567890\n"
|
|
},
|
|
{
|
|
"name": "Standalone",
|
|
"desc": "All standalone comment lines should be removed.",
|
|
"data": {
|
|
},
|
|
"template": "Begin.\n{{! Comment Block! }}\nEnd.\n",
|
|
"expected": "Begin.\nEnd.\n"
|
|
},
|
|
{
|
|
"name": "Indented Standalone",
|
|
"desc": "All standalone comment lines should be removed.",
|
|
"data": {
|
|
},
|
|
"template": "Begin.\n {{! Indented Comment Block! }}\nEnd.\n",
|
|
"expected": "Begin.\nEnd.\n"
|
|
},
|
|
{
|
|
"name": "Standalone Line Endings",
|
|
"desc": "\"\\r\\n\" should be considered a newline for standalone tags.",
|
|
"data": {
|
|
},
|
|
"template": "|\r\n{{! Standalone Comment }}\r\n|",
|
|
"expected": "|\r\n|"
|
|
},
|
|
{
|
|
"name": "Standalone Without Previous Line",
|
|
"desc": "Standalone tags should not require a newline to precede them.",
|
|
"data": {
|
|
},
|
|
"template": " {{! I'm Still Standalone }}\n!",
|
|
"expected": "!"
|
|
},
|
|
{
|
|
"name": "Standalone Without Newline",
|
|
"desc": "Standalone tags should not require a newline to follow them.",
|
|
"data": {
|
|
},
|
|
"template": "!\n {{! I'm Still Standalone }}",
|
|
"expected": "!\n"
|
|
},
|
|
{
|
|
"name": "Multiline Standalone",
|
|
"desc": "All standalone comment lines should be removed.",
|
|
"data": {
|
|
},
|
|
"template": "Begin.\n{{!\nSomething's going on here...\n}}\nEnd.\n",
|
|
"expected": "Begin.\nEnd.\n"
|
|
},
|
|
{
|
|
"name": "Indented Multiline Standalone",
|
|
"desc": "All standalone comment lines should be removed.",
|
|
"data": {
|
|
},
|
|
"template": "Begin.\n {{!\n Something's going on here...\n }}\nEnd.\n",
|
|
"expected": "Begin.\nEnd.\n"
|
|
},
|
|
{
|
|
"name": "Indented Inline",
|
|
"desc": "Inline comments should not strip whitespace",
|
|
"data": {
|
|
},
|
|
"template": " 12 {{! 34 }}\n",
|
|
"expected": " 12 \n"
|
|
},
|
|
{
|
|
"name": "Surrounding Whitespace",
|
|
"desc": "Comment removal should preserve surrounding whitespace.",
|
|
"data": {
|
|
},
|
|
"template": "12345 {{! Comment Block! }} 67890",
|
|
"expected": "12345 67890"
|
|
},
|
|
{
|
|
"name": "Variable Name Collision",
|
|
"desc": "Comments must never render, even if variable with same name exists.",
|
|
"data": {
|
|
"! comment": 1,
|
|
"! comment ": 2,
|
|
"!comment": 3,
|
|
"comment": 4
|
|
},
|
|
"template": "comments never show: >{{! comment }}<",
|
|
"expected": "comments never show: ><"
|
|
}
|
|
]
|
|
}
|