]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
test(shared): add test case for escapeHtmlComment (#8065)
author丶远方 <yangpanteng@gmail.com>
Fri, 10 Nov 2023 07:07:24 +0000 (15:07 +0800)
committerGitHub <noreply@github.com>
Fri, 10 Nov 2023 07:07:24 +0000 (15:07 +0800)
packages/shared/__tests__/escapeHtml.spec.ts

index 34505d3eadc717b69225df7f7d2c1d2998a993ea..30004706af7be0d81876cd25016431fe22ac3523 100644 (file)
@@ -1,11 +1,31 @@
-import { escapeHtml } from '../src'
-
-test('ssr: escapeHTML', () => {
-  expect(escapeHtml(`foo`)).toBe(`foo`)
-  expect(escapeHtml(true)).toBe(`true`)
-  expect(escapeHtml(false)).toBe(`false`)
-  expect(escapeHtml(`a && b`)).toBe(`a &amp;&amp; b`)
-  expect(escapeHtml(`"foo"`)).toBe(`&quot;foo&quot;`)
-  expect(escapeHtml(`'bar'`)).toBe(`&#39;bar&#39;`)
-  expect(escapeHtml(`<div>`)).toBe(`&lt;div&gt;`)
+import { escapeHtml, escapeHtmlComment } from '../src'
+
+describe('escapeHtml', () => {
+  test('ssr: escapeHTML', () => {
+    expect(escapeHtml(`foo`)).toBe(`foo`)
+    expect(escapeHtml(true)).toBe(`true`)
+    expect(escapeHtml(false)).toBe(`false`)
+    expect(escapeHtml(`a && b`)).toBe(`a &amp;&amp; b`)
+    expect(escapeHtml(`"foo"`)).toBe(`&quot;foo&quot;`)
+    expect(escapeHtml(`'bar'`)).toBe(`&#39;bar&#39;`)
+    expect(escapeHtml(`<div>`)).toBe(`&lt;div&gt;`)
+  })
+
+  test('ssr: escapeHTMLComment', () => {
+    const input = '<!-- Hello --><!-- World! -->'
+    const result = escapeHtmlComment(input)
+    expect(result).toEqual(' Hello  World! ')
+  })
+
+  test('ssr: escapeHTMLComment', () => {
+    const input = '<!-- Comment 1 --> Hello <!--! Comment 2 --> World!'
+    const result = escapeHtmlComment(input)
+    expect(result).toEqual(' Comment 1  Hello ! Comment 2  World!')
+  })
+
+  test('should not affect non-comment strings', () => {
+    const input = 'Hello World'
+    const result = escapeHtmlComment(input)
+    expect(result).toEqual(input)
+  })
 })