204c5039ab
Co-Authored-By: Claude Code <noreply@anthropic.com>
19 lines
699 B
Python
19 lines
699 B
Python
"""Theme discovery must be a single source of truth."""
|
|
import json
|
|
from pathlib import Path
|
|
from app import core, theme_pro, theme_store
|
|
|
|
ROOT = Path(core.__file__).resolve().parent.parent
|
|
|
|
def test_discover_returns_builtin_themes_with_manifests():
|
|
ids = core.discover_themes()
|
|
for tid in ('automotive', 'industrial', 'corporate', 'minimal'):
|
|
assert tid in ids
|
|
for tid in ids:
|
|
manifest = json.loads((ROOT / 'themes' / tid / 'manifest.json').read_text(encoding='utf-8'))
|
|
assert manifest.get('id') == tid
|
|
|
|
def test_three_whitelists_agree():
|
|
assert set(core.THEMES) == set(theme_pro.THEMES) == set(theme_store.BUILTIN)
|
|
assert isinstance(core.THEMES, tuple)
|