Files
hermes-webui/tests/test_verdigris_skin.py
T
nesquena-hermes 1fc24ddf68 feat(#4241): add Vietnamese (vi) as 14th UI locale + wire parity
Maintainer-completed @thanhtantran's #4241 (Nathan approved bringing it in):
- vi locale block in static/i18n.js (contributor's 1615-line translation) rebased onto master.
- Added vi to _LOGIN_LOCALE in api/routes.py (login-page localization, issue #1442 parity).
- Bumped the per-locale hardcoded-count assertions 13->14 across the locale-parity
  tests (rtl, quota_chip, hide_suggestions, virtualize_transcript, no_git, help_tab,
  verdigris/zeus skins, auxiliary_models) and added 'vi' to the composer-voice-buttons
  LOCALES tuples. vi already carries all current English keys (verified 14x per key).
All 497 locale/parity tests pass. Co-authored-by: thanhtantran
2026-06-24 08:39:14 +00:00

42 lines
1.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""Verdigris skin registration and emerald/bronze palette affordances."""
from pathlib import Path
REPO = Path(__file__).parent.parent
CSS = (REPO / "static" / "style.css").read_text(encoding="utf-8")
BOOT_JS = (REPO / "static" / "boot.js").read_text(encoding="utf-8")
CONFIG_PY = (REPO / "api" / "config.py").read_text(encoding="utf-8")
INDEX_HTML = (REPO / "static" / "index.html").read_text(encoding="utf-8")
I18N_JS = (REPO / "static" / "i18n.js").read_text(encoding="utf-8")
def test_verdigris_skin_is_registered_in_all_files():
assert "{name:'Verdigris'" in BOOT_JS
assert "'verdigris':1" in INDEX_HTML
assert '"verdigris"' in CONFIG_PY
def test_verdigris_dark_palette_is_emerald():
assert ':root.dark[data-skin="verdigris"]' in CSS
assert "--bg:#0F1714" in CSS
assert "--sidebar:#121D18" in CSS
assert "--border:#22342C" in CSS
def test_verdigris_accent_is_bronze():
assert "--accent:#C89A5A" in CSS
assert "--accent-hover:#D6AE74" in CSS
assert "--focus-ring:rgba(200,154,90,.30)" in CSS
def test_verdigris_has_no_light_variant():
# The skin is dark-only; no light root block should be registered.
assert ':root[data-skin="verdigris"]{' not in CSS
assert ':root[data-skin=\"verdigris\"]{\n' not in CSS
def test_verdigris_i18n_lists_skin_in_all_locales():
# There are 12 locales; each should now include verdigris as the trailing skin.
# 10 locales use ASCII closing paren, 2 Chinese locales use full-width paren.
assert I18N_JS.count("verdigris)") + I18N_JS.count("verdigris)") == 14