From 5779444d4ba2a71912a3a59016d23a9f11c53942 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Sun, 5 Apr 2026 21:05:39 -0400 Subject: [PATCH] Add persisted progress bar beep interval setting --- src/cthulhu/settings.py | 1 + tests/test_sound_preferences_regressions.py | 27 +++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 tests/test_sound_preferences_regressions.py diff --git a/src/cthulhu/settings.py b/src/cthulhu/settings.py index f3e0265..2016623 100644 --- a/src/cthulhu/settings.py +++ b/src/cthulhu/settings.py @@ -108,6 +108,7 @@ userCustomizableSettings = [ "brailleProgressBarUpdates", "beepProgressBarUpdates", "progressBarUpdateInterval", + "progressBarBeepInterval", "progressBarVerbosity", "ignoreStatusBarProgressBars", "enableBrailleWordWrap", diff --git a/tests/test_sound_preferences_regressions.py b/tests/test_sound_preferences_regressions.py new file mode 100644 index 0000000..4e31837 --- /dev/null +++ b/tests/test_sound_preferences_regressions.py @@ -0,0 +1,27 @@ +import sys +import tempfile +import unittest +from pathlib import Path +from unittest import mock + +sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "src")) + +from cthulhu import settings +from cthulhu import settings_manager + + +class SoundSettingsPersistenceTests(unittest.TestCase): + def test_progress_bar_beep_interval_is_user_customizable(self): + self.assertIn("progressBarBeepInterval", settings.userCustomizableSettings) + + def test_activate_writes_progress_bar_beep_interval_default(self): + with tempfile.TemporaryDirectory() as tempDir: + manager = settings_manager.SettingsManager(mock.Mock()) + manager.activate(prefsDir=tempDir) + settingsText = Path(tempDir, "user-settings.toml").read_text(encoding="utf-8") + + self.assertIn("progressBarBeepInterval = 0", settingsText) + + +if __name__ == "__main__": + unittest.main()