42 lines
1.4 KiB
TypeScript
42 lines
1.4 KiB
TypeScript
|
import { decodeHtmlBrowser } from '../src/decodeHtmlBrowser'
|
||
|
|
||
|
describe('decodeHtmlBrowser', () => {
|
||
|
it('should decode HTML correctly', () => {
|
||
|
expect(decodeHtmlBrowser(' abc 123 ')).toBe(' abc 123 ')
|
||
|
|
||
|
expect(decodeHtmlBrowser('&')).toBe('&')
|
||
|
expect(decodeHtmlBrowser('&')).toBe('&')
|
||
|
expect(decodeHtmlBrowser('&')).toBe('&')
|
||
|
|
||
|
expect(decodeHtmlBrowser('<')).toBe('<')
|
||
|
expect(decodeHtmlBrowser('<')).toBe('<')
|
||
|
expect(decodeHtmlBrowser('&lt;')).toBe('<')
|
||
|
|
||
|
expect(decodeHtmlBrowser('>')).toBe('>')
|
||
|
expect(decodeHtmlBrowser('>')).toBe('>')
|
||
|
expect(decodeHtmlBrowser('&gt;')).toBe('>')
|
||
|
|
||
|
expect(decodeHtmlBrowser(' ')).toBe('\u00a0')
|
||
|
expect(decodeHtmlBrowser('"')).toBe('"')
|
||
|
expect(decodeHtmlBrowser(''')).toBe("'")
|
||
|
|
||
|
expect(decodeHtmlBrowser('É')).toBe('\u00c9')
|
||
|
expect(decodeHtmlBrowser('É')).toBe('\u00c9')
|
||
|
expect(decodeHtmlBrowser('É')).toBe('\u00c9')
|
||
|
|
||
|
// #3001 html tags inside attribute values
|
||
|
expect(decodeHtmlBrowser('<strong>Text</strong>', true)).toBe(
|
||
|
'<strong>Text</strong>'
|
||
|
)
|
||
|
expect(decodeHtmlBrowser('<strong>&</strong>', true)).toBe(
|
||
|
'<strong>&</strong>'
|
||
|
)
|
||
|
expect(
|
||
|
decodeHtmlBrowser(
|
||
|
'<strong><strong>&</strong></strong>',
|
||
|
true
|
||
|
)
|
||
|
).toBe('<strong><strong>&</strong></strong>')
|
||
|
})
|
||
|
})
|