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'