decoderHtmlBrowser.spec.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { decodeHtmlBrowser } from '../src/decodeHtmlBrowser'
  2. describe('decodeHtmlBrowser', () => {
  3. it('should decode HTML correctly', () => {
  4. expect(decodeHtmlBrowser(' abc 123 ')).toBe(' abc 123 ')
  5. expect(decodeHtmlBrowser('&')).toBe('&')
  6. expect(decodeHtmlBrowser('&')).toBe('&')
  7. expect(decodeHtmlBrowser('&')).toBe('&')
  8. expect(decodeHtmlBrowser('<')).toBe('<')
  9. expect(decodeHtmlBrowser('&lt;')).toBe('<')
  10. expect(decodeHtmlBrowser('&amp;lt;')).toBe('&lt;')
  11. expect(decodeHtmlBrowser('>')).toBe('>')
  12. expect(decodeHtmlBrowser('&gt;')).toBe('>')
  13. expect(decodeHtmlBrowser('&amp;gt;')).toBe('&gt;')
  14. expect(decodeHtmlBrowser('&nbsp;')).toBe('\u00a0')
  15. expect(decodeHtmlBrowser('&quot;')).toBe('"')
  16. expect(decodeHtmlBrowser('&apos;')).toBe("'")
  17. expect(decodeHtmlBrowser('&Eacute;')).toBe('\u00c9')
  18. expect(decodeHtmlBrowser('&#xc9;')).toBe('\u00c9')
  19. expect(decodeHtmlBrowser('&#201;')).toBe('\u00c9')
  20. // #3001 html tags inside attribute values
  21. expect(decodeHtmlBrowser('<strong>Text</strong>', true)).toBe(
  22. '<strong>Text</strong>'
  23. )
  24. expect(decodeHtmlBrowser('<strong>&amp;</strong>', true)).toBe(
  25. '<strong>&</strong>'
  26. )
  27. expect(
  28. decodeHtmlBrowser(
  29. '<strong>&lt;strong&gt;&amp;&lt;/strong&gt;</strong>',
  30. true
  31. )
  32. ).toBe('<strong><strong>&</strong></strong>')
  33. })
  34. })