Skip to content

Commit f0ff625

Browse files
committed
Merge branch 'accessibility-settings-7.6' into accessibility-settings-main
# Conflicts: # src/app/accessibility/accessibility-settings.service.spec.ts
2 parents ff7c9ba + b55a318 commit f0ff625

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

src/app/accessibility/accessibility-settings.service.spec.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ import {
1818
ACCESSIBILITY_COOKIE,
1919
ACCESSIBILITY_SETTINGS_METADATA_KEY,
2020
AccessibilitySettings,
21+
AccessibilitySettingsFormValues,
2122
AccessibilitySettingsService,
23+
FullAccessibilitySettings,
2224
} from './accessibility-settings.service';
2325

2426

@@ -363,4 +365,27 @@ describe('accessibilitySettingsService', () => {
363365
});
364366
});
365367

368+
describe('convertFormValuesToStoredValues', () => {
369+
it('should reset the notificationTimeOut when timeOut is enabled but set to "0"', () => {
370+
const formValues: AccessibilitySettingsFormValues = {
371+
notificationTimeOutEnabled: true,
372+
notificationTimeOut: '0',
373+
liveRegionTimeOut: null,
374+
};
375+
376+
const storedValues: FullAccessibilitySettings = service.convertFormValuesToStoredValues(formValues);
377+
expect('notificationTimeOut' in storedValues).toBeFalse();
378+
});
379+
});
380+
381+
it('should keep the notificationTimeOut when timeOut is enabled and differs from "0"', () => {
382+
const formValues: AccessibilitySettingsFormValues = {
383+
notificationTimeOutEnabled: true,
384+
notificationTimeOut: '3',
385+
liveRegionTimeOut: null,
386+
};
387+
388+
const storedValues: FullAccessibilitySettings = service.convertFormValuesToStoredValues(formValues);
389+
expect('notificationTimeOut' in storedValues).toBeTrue();
390+
});
366391
});

src/app/accessibility/accessibility-settings.service.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,11 +260,20 @@ export class AccessibilitySettingsService {
260260
* Convert values in the provided accessibility settings object to values ready to be stored.
261261
*/
262262
convertFormValuesToStoredValues(settings: AccessibilitySettingsFormValues): FullAccessibilitySettings {
263-
return {
263+
const storedValues = {
264264
notificationTimeOut: settings.notificationTimeOutEnabled ?
265265
secondsToMilliseconds(settings.notificationTimeOut) : '0',
266266
liveRegionTimeOut: secondsToMilliseconds(settings.liveRegionTimeOut),
267267
};
268+
269+
// When the user enables the timeout but does not change the timeout duration from 0,
270+
// it is removed from the values to be stored so the default value is used.
271+
// Keeping it at 0 would mean the notifications are not automatically removed.
272+
if (settings.notificationTimeOutEnabled && settings.notificationTimeOut === '0') {
273+
delete storedValues.notificationTimeOut;
274+
}
275+
276+
return storedValues;
268277
}
269278

270279
/**

0 commit comments

Comments
 (0)