From 8349af57bde2839fcae8f376b8c4d96caa7ba79d Mon Sep 17 00:00:00 2001
From: Casey Parker <02-germane-atomic@icloud.com>
Date: Fri, 6 Jun 2025 11:52:26 -0700
Subject: [PATCH 1/2] moves unsafe-inline scripts to listeners
---
src/preferences.html | 7 ++++---
src/preferences.js | 22 ++++++++++++++--------
2 files changed, 18 insertions(+), 11 deletions(-)
diff --git a/src/preferences.html b/src/preferences.html
index 710dc9e56..6a8596e16 100644
--- a/src/preferences.html
+++ b/src/preferences.html
@@ -2,6 +2,7 @@
+
@@ -42,7 +43,7 @@
Enable prefilling of break time
@@ -50,7 +51,7 @@
@@ -67,7 +68,7 @@
diff --git a/src/preferences.js b/src/preferences.js
index 435aee248..417e621d4 100644
--- a/src/preferences.js
+++ b/src/preferences.js
@@ -178,15 +178,21 @@ function setupListeners()
changeValue(this.name, this.checked);
});
- $('#hours-per-day, #break-time-interval').on('change', function()
+ $('#break-time-interval').on('change', function()
{
- /* istanbul ignore else */
- if (this.checkValidity() === true)
- {
- const entry = convertTimeFormat(this.value);
- this.value = entry;
- changeValue(this.name, entry);
- }
+ this.value = this.checkValidity() ? this.value : '00:30';
+ });
+
+ $('#hours-per-day').on('change', function()
+ {
+ this.setCustomValidity('');
+ this.reportValidity();
+ this.value = this.checkValidity() ? this.value : '08:00'; this.setCustomValidity('');
+ });
+
+ $('#notifications-interval').on('change', function()
+ {
+ this.value = this.checkValidity() ? this.value : 5;
});
$('input[type="number"], input[type="date"]').on('change', function()
From a2184a179c983ab961f181332d4e0422da9b2b42 Mon Sep 17 00:00:00 2001
From: Casey Parker <02-germane-atomic@icloud.com>
Date: Fri, 6 Jun 2025 12:50:10 -0700
Subject: [PATCH 2/2] hopefully increase coverage
---
__tests__/__renderer__/preferences.mjs | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/__tests__/__renderer__/preferences.mjs b/__tests__/__renderer__/preferences.mjs
index 73b0b8533..e98e03eff 100644
--- a/__tests__/__renderer__/preferences.mjs
+++ b/__tests__/__renderer__/preferences.mjs
@@ -12,7 +12,7 @@ import { rootDir } from '../../js/app-config.mjs';
import {
getDefaultPreferences,
getPreferencesFilePath,
- savePreferences,
+ savePreferences
} from '../../js/user-preferences.mjs';
import { preferencesApi } from '../../renderer/preload-scripts/preferences-api.mjs';
import i18nTranslator from '../../renderer/i18n-translator.js';
@@ -181,6 +181,18 @@ describe('Test Preferences Window', () =>
checkRenderedItem('hours-per-day');
});
+ it('Change pre-filling break time to true', () =>
+ {
+ changeItemInputValue('enable-prefill-break-time', true);
+ checkRenderedItem('enable-prefill-break-time', isCheckBox);
+ });
+
+ it('Change break-time-interval from 00:30 to 00:15', () =>
+ {
+ changeItemValue('break-time-interval', '00:15');
+ checkRenderedItem('break-time-interval');
+ });
+
it('Change repetition to false', () =>
{
changeItemInputValue('repetition', false);
@@ -206,6 +218,12 @@ describe('Test Preferences Window', () =>
checkRenderedItem('notifications-interval');
});
+ it('Change notifications-interval to 10', () =>
+ {
+ changeItemValue('notifications-interval', '99');
+ checkRenderedItem('notifications-interval');
+ });
+
it('Change start-at-login to true', () =>
{
changeItemInputValue('start-at-login', true);