diff options
| author | Craig Jennings <c@cjennings.net> | 2026-06-13 15:27:54 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-06-13 15:27:54 -0500 |
| commit | 19780fa994a697966984366a54dcdfbdb7e7838c (patch) | |
| tree | effda6c339ea9dab6fde730028496dc749d01ad2 /scripts/theme-studio/test_generate.py | |
| parent | 94363181928da1d8693f71967949b795a315318a (diff) | |
| download | dotemacs-19780fa994a697966984366a54dcdfbdb7e7838c.tar.gz dotemacs-19780fa994a697966984366a54dcdfbdb7e7838c.zip | |
Add theme studio default face drift summary
Diffstat (limited to 'scripts/theme-studio/test_generate.py')
| -rw-r--r-- | scripts/theme-studio/test_generate.py | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/scripts/theme-studio/test_generate.py b/scripts/theme-studio/test_generate.py index 034df72b..16ed07f1 100644 --- a/scripts/theme-studio/test_generate.py +++ b/scripts/theme-studio/test_generate.py @@ -14,7 +14,7 @@ from collections import Counter, defaultdict import generate # importable without side effects: the file write is __main__-guarded from app_inventory import face_rows -from default_faces import DefaultFaces +from default_faces import DefaultFaces, changed_summary from face_specs import package_face_spec, ui_face_spec @@ -224,6 +224,45 @@ class DefaultFaceAdapter(unittest.TestCase): self.assertEqual(defaults.seed("missing"), {}) self.assertEqual(defaults.label("#000000", "fallback"), "fallback") + def test_summary_reports_default_drift_fields(self): + defaults = DefaultFaces({ + "meta": {"emacs-version": "30.2", "package-unresolved-face-count": 2}, + "ui-faces": ["sample"], + "package-inventory": {"pkg": ["pkg-face"]}, + "faces": { + "default": { + "effectiveGuiLight": { + "foregroundHex": "#000000", + "backgroundHex": "#ffffff", + }, + "chosenGuiLight": {}, + }, + "sample": { + "chosenGuiLight": {"backgroundHex": "#ffffff"}, + "effectiveGuiLight": {}, + }, + "pkg-face": { + "chosenGuiLight": {"inherit": "base-face"}, + "effectiveGuiLight": {}, + }, + }, + }) + self.assertEqual(defaults.summary(), { + "emacsVersion": "30.2", + "default": {"foreground": "#000000", "background": "#ffffff"}, + "faceCount": 3, + "packageFaceCount": 1, + "packageUnresolvedFaceCount": 2, + "uiOwnSeeds": {"sample": {"bg": "#ffffff"}}, + "packageInherits": {"pkg-face": "base-face"}, + }) + + def test_changed_summary_reports_only_changed_top_level_keys(self): + self.assertEqual(changed_summary({"a": 1, "b": 2}, {"a": 1, "b": 3, "c": 4}), { + "b": {"before": 2, "after": 3}, + "c": {"before": None, "after": 4}, + }) + class PackageFaceCoverage(unittest.TestCase): ALLOWED_DUPLICATES = { |
