actionIconGlyphHelpers.test.mjs 822 B

1234567891011121314151617181920
  1. import test from 'node:test'
  2. import assert from 'node:assert/strict'
  3. import { decodeHtmlEntities, glyphLooksLikeHtml } from './actionIconGlyphHelpers.mjs'
  4. test('decodeHtmlEntities decodes named entity icons as plain glyph text', () => {
  5. assert.equal(decodeHtmlEntities('«'), '\u00ab')
  6. assert.equal(decodeHtmlEntities('→'), '\u2192')
  7. assert.equal(decodeHtmlEntities('« next →'), '\u00ab next \u2192')
  8. })
  9. test('decoded named entity icons are not treated as HTML markup', () => {
  10. const decodedGlyph = decodeHtmlEntities('→')
  11. assert.equal(glyphLooksLikeHtml(decodedGlyph), false)
  12. })
  13. test('decodeHtmlEntities keeps existing numeric entity icon support', () => {
  14. assert.equal(decodeHtmlEntities('💩'), '\ud83d\udca9')
  15. assert.equal(decodeHtmlEntities('💾'), '\ud83d\udcbe')
  16. })