olivetin/frontend/resources/vue/components/actionIconGlyphHelpers.test...

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')
})