Non-string types are handled inconsistently between javascript and html escaping
Open
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 2.9k
- Forks
- 461
- PR merge metrics
- No merged PRs in 30d
Description
With the template
```
{name|h|js}{~n}
{name|j|js}{~n}
```
and the context
```
{"name": true}
```
You get the output
```
"true"
true
```
So it seems that html escaping turns non-string types into string, but javascript escaping does not.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the reported template with the context {"name": true} and compare the output of the h and j escaping paths. Trace the escaping entry points responsible for those two outputs, then establish the intended behavior for non-string values and add coverage showing that both paths handle them consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- web-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100