aboutsummaryrefslogtreecommitdiff
path: root/scripts/theme-studio/test-locate.mjs
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-24 19:17:23 -0400
committerCraig Jennings <c@cjennings.net>2026-06-24 19:17:23 -0400
commit9f2d432f506dd36bed503bfe684b116e07681141 (patch)
tree1ccee6c143e706a1cb5b44cf8ad4ea6b6e17fb1b /scripts/theme-studio/test-locate.mjs
parent120e589dd7e81c7203a5d5c050ba4b5089f553a6 (diff)
downloaddotemacs-9f2d432f506dd36bed503bfe684b116e07681141.tar.gz
dotemacs-9f2d432f506dd36bed503bfe684b116e07681141.zip
refactor(theme-studio): extract control factories to controls.js, drop dead previewFaceAttrs
I split the custom dropdown, detail-editor, and expander factories out of app.js into controls.js (205 lines), spliced back at a CONTROLS_J token by generate.py. The token sits at the exact extraction point, so the assembled page is byte-identical and every gate passes unchanged. app.js drops from 927 to 721 lines. I also removed previewFaceAttrs (function, export, and test). It was test-only dead code whose docstring stalely claimed the gate calls it. The gate uses assertPreviewFaces instead.
Diffstat (limited to 'scripts/theme-studio/test-locate.mjs')
-rw-r--r--scripts/theme-studio/test-locate.mjs11
1 files changed, 1 insertions, 10 deletions
diff --git a/scripts/theme-studio/test-locate.mjs b/scripts/theme-studio/test-locate.mjs
index 5e36aa808..09d15b8bc 100644
--- a/scripts/theme-studio/test-locate.mjs
+++ b/scripts/theme-studio/test-locate.mjs
@@ -8,7 +8,7 @@
import { test } from 'node:test';
import assert from 'node:assert/strict';
import {
- buildLocateRegistry, locateFaceMeta, formatLocateTitle, previewFaceAttrs, isLocateOnPane,
+ buildLocateRegistry, locateFaceMeta, formatLocateTitle, isLocateOnPane,
} from './app-core.js';
// A constructed model: two package apps that BOTH own a face literally named
@@ -142,15 +142,6 @@ test('formatLocateTitle: Error — an unassigned meta reads "unassigned"', () =>
assert.equal(formatLocateTitle(locateFaceMeta('org-faces', 'ghost', reg)), 'ghost, unassigned');
});
-// --- previewFaceAttrs: owner-aware validation -------------------------------
-
-test('previewFaceAttrs: Normal — a known owner/face validates; a bad owner is rejected', () => {
- const reg = buildLocateRegistry(APPS, PKGMAP, UIMAP, MAP);
- assert.ok(previewFaceAttrs('org-faces', 'org-todo', reg), 'known face validates');
- assert.equal(previewFaceAttrs('org-mode', 'minibuffer-prompt', reg), null, 'a UI face under a package owner is rejected');
- assert.equal(previewFaceAttrs('nope', 'org-todo', reg), null, 'an unknown owner is rejected');
-});
-
// --- lifecycle + perf -------------------------------------------------------
test('buildLocateRegistry: lifecycle — a rebuild after an edit reflects the new value', () => {