Mustache and EJS issues with attributes and truthy blocks #504
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Found 3 cases where Mustache and EJS fail to render correct output. All of these have the full attribute inside of a truthy section (if block in EJS).
Case 1: Attribute value has hyphen
<p {{#attribute}}data-test="{{attribute}}"{{/attribute}}></p>
Entire value of attribute is escaped resulting in:
Case 2: Attribute value has spaces
<p {{#attribute}}data-test="{{attribute}}"{{/attribute}}></p>
Entire value of attribute is escaped resulting in:
Case 3: Outputting list of attributes in a loop
<p {{#attribute}}{{name}}="{{value}}"{{/attribute}}></p>
entire string of attributes is escaped and results in a mangled mess: