const test=require('node:test'),assert=require('node:assert/strict'); const {leadingGlyph}=require('./glass-controls.js'); test('glass icon substitution preserves leading whitespace and remaining labels',()=>{ assert.deepEqual(leadingGlyph(' ⬇ Save'),{kind:'save',original:' ⬇',rest:' Save'}); assert.deepEqual(leadingGlyph('⚙️ Settings'),{kind:'settings',original:'⚙️',rest:' Settings'}); assert.equal(leadingGlyph('A song with 🔍 in its title'),null); assert.equal(leadingGlyph('Clear all'),null); assert.equal(leadingGlyph('⏸').kind,'pause'); }); test('playlist trash, menu and music glyphs use drawn glass icons',()=>{ assert.equal(leadingGlyph('🗑️ Delete').kind,'trash'); assert.equal(leadingGlyph('⋮').kind,'more'); assert.equal(leadingGlyph('🎵').kind,'music'); }); test('Bento-only legacy icons leave the Glass glyph set unchanged',()=>{ assert.equal(leadingGlyph('📺 Show video'),null); assert.deepEqual(leadingGlyph('📺 Show video',true),{kind:'television',original:'📺',rest:' Show video'}); assert.equal(leadingGlyph('⏱ Tap-sync',true).kind,'clock'); assert.equal(leadingGlyph('📌 Bookmark',true).kind,'pin'); });