21 lines
822 B
JavaScript
21 lines
822 B
JavaScript
import test from 'node:test'
|
|
import assert from 'node:assert/strict'
|
|
import { decodeHtmlEntities, glyphLooksLikeHtml } from './actionIconGlyphHelpers.mjs'
|
|
|
|
test('decodeHtmlEntities decodes named entity icons as plain glyph text', () => {
|
|
assert.equal(decodeHtmlEntities('«'), '\u00ab')
|
|
assert.equal(decodeHtmlEntities('→'), '\u2192')
|
|
assert.equal(decodeHtmlEntities('« next →'), '\u00ab next \u2192')
|
|
})
|
|
|
|
test('decoded named entity icons are not treated as HTML markup', () => {
|
|
const decodedGlyph = decodeHtmlEntities('→')
|
|
|
|
assert.equal(glyphLooksLikeHtml(decodedGlyph), false)
|
|
})
|
|
|
|
test('decodeHtmlEntities keeps existing numeric entity icon support', () => {
|
|
assert.equal(decodeHtmlEntities('💩'), '\ud83d\udca9')
|
|
assert.equal(decodeHtmlEntities('💾'), '\ud83d\udcbe')
|
|
})
|