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 @@

Hours per day

- +

Enable prefilling of break time

@@ -50,7 +51,7 @@

Break time interval

- +
@@ -67,7 +68,7 @@

Minutes between notifications

- +
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);