aboutsummaryrefslogtreecommitdiff
path: root/scripts/theme-studio/test-app-core.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/theme-studio/test-app-core.mjs')
-rw-r--r--scripts/theme-studio/test-app-core.mjs19
1 files changed, 18 insertions, 1 deletions
diff --git a/scripts/theme-studio/test-app-core.mjs b/scripts/theme-studio/test-app-core.mjs
index c6473ae96..8b2df6849 100644
--- a/scripts/theme-studio/test-app-core.mjs
+++ b/scripts/theme-studio/test-app-core.mjs
@@ -10,7 +10,7 @@ import {
nameToHex, migrateLegacyFace, normalizePkgFace, buildPkgmap, packagesForExport, mergePackagesInto, effResolve, resolveSyntaxFg, resolveUiAttr, dropdownRowTextColor, paletteOptionList, spanNeighborHex, slugify,
clearPalettePlan, deletePaletteColumnPlan, groundColumnMembersFromPalette, areAllLocked, lockToggleLabel, toggleLockSet,
galleryModel, appViewKeysSorted, faceBoxNonDefaults, overflowNonDefault, stepViewIndex,
- cssWeight, faceDecoration, boxCss, faceCss,
+ cssWeight, faceDecoration, boxCss, faceCss, composeHoverTitle,
} from './app-core.js';
import { planPaletteGenerator, entriesForGeneratedColumn } from './palette-generator-core.js';
import { oklch2hex, deltaE } from './colormath.js';
@@ -1135,3 +1135,20 @@ test('boxCss: Boundary — released with no color but a bg shades from the bg',
assert.notEqual(fromBg, 'inset 1px 1px 0 #ffffff33,inset -1px -1px 0 #00000066');
assert.match(fromBg, /^inset 1px 1px 0 \S+,inset -1px -1px 0 \S+$/);
});
+
+test('composeHoverTitle: Normal — docstring sits on top of existing base text', () => {
+ assert.equal(composeHoverTitle('A face doc.', 'mode-line'),
+ 'A face doc.\n\nmode-line');
+});
+test('composeHoverTitle: Boundary — doc only (no base) returns the doc', () => {
+ assert.equal(composeHoverTitle('A face doc.', ''), 'A face doc.');
+ assert.equal(composeHoverTitle('A face doc.', null), 'A face doc.');
+});
+test('composeHoverTitle: Boundary — base only (no doc) returns the base unchanged', () => {
+ assert.equal(composeHoverTitle('', 'mode-line'), 'mode-line');
+ assert.equal(composeHoverTitle(undefined, 'mode-line'), 'mode-line');
+});
+test('composeHoverTitle: Error — neither doc nor base returns empty string', () => {
+ assert.equal(composeHoverTitle(null, null), '');
+ assert.equal(composeHoverTitle(undefined, ''), '');
+});