| overview: | |
| Comment tags represent content that should never appear in the resulting |
| output. |
| |
| The tag's content may contain any substring (including newlines) EXCEPT the |
| closing delimiter. |
| |
| Comment tags SHOULD be treated as standalone when appropriate. |
| 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{{! |
| This is a |
| multi-line comment... |
| }}67890 |
| expected: | |
| 1234567890 |
| |
| - name: Standalone |
| desc: All standalone comment lines should be removed. |
| data: { } |
| template: | |
| Begin. |
| {{! Comment Block! }} |
| End. |
| expected: | |
| Begin. |
| End. |
| |
| - name: Indented Standalone |
| desc: All standalone comment lines should be removed. |
| data: { } |
| template: | |
| Begin. |
| {{! Indented Comment Block! }} |
| End. |
| expected: | |
| Begin. |
| End. |
| |
| - 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. |
| {{! |
| Something's going on here... |
| }} |
| End. |
| expected: | |
| Begin. |
| End. |
| |
| - name: Indented Multiline Standalone |
| desc: All standalone comment lines should be removed. |
| data: { } |
| template: | |
| Begin. |
| {{! |
| Something's going on here... |
| }} |
| End. |
| expected: | |
| Begin. |
| End. |
| |
| - 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' |