Skip to content

Commit 0f3179f

Browse files
committed
Pass escape param to the array
1 parent 5b77cb4 commit 0f3179f

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed

index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ const render = (input, escape = true) => {
430430
if (Array.isArray(input)) {
431431
let result = ""
432432
for (let i = 0, ilen = input.length; i < ilen; i++) {
433-
result += render(input[i])
433+
result += render(input[i], escape)
434434
}
435435
return result
436436
}

test/array-escape/index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
const { Html, Head, Body, Template } = require("../..")
2+
3+
module.exports = () => {
4+
return Html([Head(), Body([Template(["<div>A & B</div>"])])])
5+
}

test/array-escape/index.test.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
const test = require("node:test")
2+
const assert = require("node:assert")
3+
const { join } = require("path")
4+
const { compile } = require("../..")
5+
6+
test("arrays inside template tags should not be HTML-escaped", () => {
7+
const { template } = compile(join(__dirname, "./index.js"))
8+
const html = template()
9+
10+
assert(
11+
html.includes("<template><div>A & B</div></template>"),
12+
"Expected template to contain unescaped &",
13+
)
14+
15+
assert(!html.includes("&amp;"), "Should not contain escaped &amp;")
16+
})

0 commit comments

Comments
 (0)