diff options
Diffstat (limited to 'test/bun.js/escapeHTML.test.js')
-rw-r--r-- | test/bun.js/escapeHTML.test.js | 72 |
1 files changed, 25 insertions, 47 deletions
diff --git a/test/bun.js/escapeHTML.test.js b/test/bun.js/escapeHTML.test.js index af119c6e3..f96849a84 100644 --- a/test/bun.js/escapeHTML.test.js +++ b/test/bun.js/escapeHTML.test.js @@ -13,12 +13,8 @@ describe("escapeHTML", () => { // 7. Works when the text to escape is in the end // 8. Returns the same string when there's no need to escape it("works", () => { - expect(escapeHTML("absolutely nothing to do here")).toBe( - "absolutely nothing to do here", - ); - expect(escapeHTML("<script>alert(1)</script>")).toBe( - "<script>alert(1)</script>", - ); + expect(escapeHTML("absolutely nothing to do here")).toBe("absolutely nothing to do here"); + expect(escapeHTML("<script>alert(1)</script>")).toBe("<script>alert(1)</script>"); expect(escapeHTML("<")).toBe("<"); expect(escapeHTML(">")).toBe(">"); expect(escapeHTML("&")).toBe("&"); @@ -39,64 +35,46 @@ describe("escapeHTML", () => { "lalala<script>alert(1)</script>lalala", ); - expect(escapeHTML("<script>alert(1)</script>" + "lalala")).toBe( - "<script>alert(1)</script>lalala", - ); - expect(escapeHTML("lalala" + "<script>alert(1)</script>")).toBe( - "lalala" + "<script>alert(1)</script>", - ); + expect(escapeHTML("<script>alert(1)</script>" + "lalala")).toBe("<script>alert(1)</script>lalala"); + expect(escapeHTML("lalala" + "<script>alert(1)</script>")).toBe("lalala" + "<script>alert(1)</script>"); expect(escapeHTML("What does ๐ mean?")).toBe("What does ๐ mean?"); const output = escapeHTML("<What does ๐"); expect(output).toBe("<What does ๐"); - expect(escapeHTML("<div>What does ๐ mean in text?")).toBe( - "<div>What does ๐ mean in text?", - ); + expect(escapeHTML("<div>What does ๐ mean in text?")).toBe("<div>What does ๐ mean in text?"); - expect( - escapeHTML( - ("lalala" + "<script>alert(1)</script>" + "lalala").repeat(900), - ), - ).toBe("lalala<script>alert(1)</script>lalala".repeat(900)); - expect( - escapeHTML(("<script>alert(1)</script>" + "lalala").repeat(900)), - ).toBe("<script>alert(1)</script>lalala".repeat(900)); - expect( - escapeHTML(("lalala" + "<script>alert(1)</script>").repeat(900)), - ).toBe(("lalala" + "<script>alert(1)</script>").repeat(900)); + expect(escapeHTML(("lalala" + "<script>alert(1)</script>" + "lalala").repeat(900))).toBe( + "lalala<script>alert(1)</script>lalala".repeat(900), + ); + expect(escapeHTML(("<script>alert(1)</script>" + "lalala").repeat(900))).toBe( + "<script>alert(1)</script>lalala".repeat(900), + ); + expect(escapeHTML(("lalala" + "<script>alert(1)</script>").repeat(900))).toBe( + ("lalala" + "<script>alert(1)</script>").repeat(900), + ); // the positions of the unicode codepoint are important // our simd code for U16 is at 8 bytes, so we need to especially check the boundaries - expect( - escapeHTML("๐lalala" + "<script>alert(1)</script>" + "lalala"), - ).toBe("๐lalala<script>alert(1)</script>lalala"); - expect(escapeHTML("<script>๐alert(1)</script>" + "lalala")).toBe( - "<script>๐alert(1)</script>lalala", - ); - expect(escapeHTML("<script>alert(1)๐</script>" + "lalala")).toBe( - "<script>alert(1)๐</script>lalala", - ); - expect(escapeHTML("<script>alert(1)</script>" + "๐lalala")).toBe( - "<script>alert(1)</script>๐lalala", + expect(escapeHTML("๐lalala" + "<script>alert(1)</script>" + "lalala")).toBe( + "๐lalala<script>alert(1)</script>lalala", ); - expect(escapeHTML("<script>alert(1)</script>" + "lal๐ala")).toBe( - "<script>alert(1)</script>lal๐ala", + expect(escapeHTML("<script>๐alert(1)</script>" + "lalala")).toBe("<script>๐alert(1)</script>lalala"); + expect(escapeHTML("<script>alert(1)๐</script>" + "lalala")).toBe("<script>alert(1)๐</script>lalala"); + expect(escapeHTML("<script>alert(1)</script>" + "๐lalala")).toBe("<script>alert(1)</script>๐lalala"); + expect(escapeHTML("<script>alert(1)</script>" + "lal๐ala")).toBe("<script>alert(1)</script>lal๐ala"); + expect(escapeHTML("<script>alert(1)</script>" + "lal๐ala".repeat(10))).toBe( + "<script>alert(1)</script>" + "lal๐ala".repeat(10), ); - expect( - escapeHTML("<script>alert(1)</script>" + "lal๐ala".repeat(10)), - ).toBe("<script>alert(1)</script>" + "lal๐ala".repeat(10)); for (let i = 1; i < 10; i++) expect(escapeHTML("<script>alert(1)</script>" + "la๐".repeat(i))).toBe( "<script>alert(1)</script>" + "la๐".repeat(i), ); - expect(escapeHTML("la๐" + "<script>alert(1)</script>")).toBe( - "la๐" + "<script>alert(1)</script>", + expect(escapeHTML("la๐" + "<script>alert(1)</script>")).toBe("la๐" + "<script>alert(1)</script>"); + expect(escapeHTML(("lalala" + "<script>alert(1)</script>๐").repeat(1))).toBe( + ("lalala" + "<script>alert(1)</script>๐").repeat(1), ); - expect( - escapeHTML(("lalala" + "<script>alert(1)</script>๐").repeat(1)), - ).toBe(("lalala" + "<script>alert(1)</script>๐").repeat(1)); expect(escapeHTML("๐".repeat(100))).toBe("๐".repeat(100)); expect(escapeHTML("๐<".repeat(100))).toBe("๐<".repeat(100)); |