Release Fenris 0.5.0 with Chalktone dashboard and dotted activity plots

This commit is contained in:
xavierk
2026-09-19 11:13:37 +05:30
parent 8bac26836a
commit e49aac8569
23 changed files with 1083 additions and 623 deletions
+8 -8
View File
@@ -3,7 +3,7 @@
Covers:
- Preference load/save with safe defaults
- XDG_CONFIG_HOME user-scoped persistence
- Amber default theme, normal-motion default
- Chalktone default theme, normal-motion default
- Invalid/unreadable/unwritable preference data does not crash
- Theme presets: Amber, Nord, High Contrast
- Reduced motion preference persistence
@@ -72,9 +72,9 @@ class TestPreferencePath:
class TestDefaults:
"""When no preference file exists, defaults are returned."""
def test_default_theme_is_amber(self):
def test_default_theme_is_chalktone(self):
"""Amber is the default theme preset."""
assert DEFAULT_THEME == "amber"
assert DEFAULT_THEME == "chalktone"
def test_default_reduced_motion_is_false(self):
"""Normal motion is the default."""
@@ -82,13 +82,13 @@ class TestDefaults:
def test_valid_themes_are_all_presets(self):
"""Three valid presets exist."""
assert VALID_THEMES == {"amber", "nord", "high_contrast"}
assert VALID_THEMES == {"chalktone", "amber", "nord", "high_contrast"}
def test_load_returns_defaults_when_no_file(self, tmp_path):
"""Missing preference file returns safe defaults."""
with patch.dict(os.environ, {"XDG_CONFIG_HOME": str(tmp_path)}):
prefs = load_preferences()
assert prefs["theme"] == "amber"
assert prefs["theme"] == "chalktone"
assert prefs["reduced_motion"] is False
@@ -151,7 +151,7 @@ class TestSafeFailures:
with patch.dict(os.environ, {"XDG_CONFIG_HOME": str(config_home)}):
prefs = load_preferences()
assert prefs["theme"] == "amber"
assert prefs["theme"] == "chalktone"
assert prefs["reduced_motion"] is False
def test_unknown_theme_returns_default(self, tmp_path):
@@ -165,7 +165,7 @@ class TestSafeFailures:
with patch.dict(os.environ, {"XDG_CONFIG_HOME": str(config_home)}):
prefs = load_preferences()
assert prefs["theme"] == "amber"
assert prefs["theme"] == "chalktone"
def test_missing_keys_get_defaults(self, tmp_path):
"""Partial preference file fills in missing keys."""
@@ -218,7 +218,7 @@ class TestSafeFailures:
with patch.dict(os.environ, {"XDG_CONFIG_HOME": str(config_home)}):
prefs = load_preferences()
assert prefs["theme"] == "amber"
assert prefs["theme"] == "chalktone"
def test_wrong_type_for_reduced_motion(self, tmp_path):
"""Non-boolean reduced_motion falls back to default."""