ssrInterpolate.spec.ts 643 B

1234567891011121314151617181920212223242526272829
  1. import { ssrInterpolate } from '../src/helpers/ssrInterpolate'
  2. import { escapeHtml } from '@vue/shared'
  3. test('ssr: interpolate', () => {
  4. expect(ssrInterpolate(0)).toBe(`0`)
  5. expect(ssrInterpolate(`foo`)).toBe(`foo`)
  6. expect(ssrInterpolate(`<div>`)).toBe(`&lt;div&gt;`)
  7. // should escape interpolated values
  8. expect(ssrInterpolate([1, 2, 3])).toBe(
  9. escapeHtml(JSON.stringify([1, 2, 3], null, 2)),
  10. )
  11. expect(
  12. ssrInterpolate({
  13. foo: 1,
  14. bar: `<div>`,
  15. }),
  16. ).toBe(
  17. escapeHtml(
  18. JSON.stringify(
  19. {
  20. foo: 1,
  21. bar: `<div>`,
  22. },
  23. null,
  24. 2,
  25. ),
  26. ),
  27. )
  28. })