Skip to content

Commit 0df5562

Browse files
committed
test(aria/spinbutton): add tests for numeric key passthrough
1 parent 26d84dd commit 0df5562

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

src/aria/spinbutton/spinbutton.spec.ts

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -449,6 +449,41 @@ describe('SpinButton', () => {
449449
fixture.detectChanges();
450450
expect(spinButtonInstance.value()).toBe(-5);
451451
});
452+
453+
it('should allow numeric key input without preventing default', () => {
454+
setupSpinButton({value: 5});
455+
const event = new KeyboardEvent('keydown', {key: '3', bubbles: true});
456+
inputElement.dispatchEvent(event);
457+
expect(event.defaultPrevented).toBe(false);
458+
});
459+
460+
it('should allow backspace key without preventing default', () => {
461+
setupSpinButton({value: 5});
462+
const event = new KeyboardEvent('keydown', {key: 'Backspace', bubbles: true});
463+
inputElement.dispatchEvent(event);
464+
expect(event.defaultPrevented).toBe(false);
465+
});
466+
467+
it('should allow delete key without preventing default', () => {
468+
setupSpinButton({value: 5});
469+
const event = new KeyboardEvent('keydown', {key: 'Delete', bubbles: true});
470+
inputElement.dispatchEvent(event);
471+
expect(event.defaultPrevented).toBe(false);
472+
});
473+
474+
it('should allow tab key without preventing default', () => {
475+
setupSpinButton({value: 5});
476+
const event = new KeyboardEvent('keydown', {key: 'Tab', bubbles: true});
477+
inputElement.dispatchEvent(event);
478+
expect(event.defaultPrevented).toBe(false);
479+
});
480+
481+
it('should allow minus key for negative numbers', () => {
482+
setupSpinButton({value: 5});
483+
const event = new KeyboardEvent('keydown', {key: '-', bubbles: true});
484+
inputElement.dispatchEvent(event);
485+
expect(event.defaultPrevented).toBe(false);
486+
});
452487
});
453488

454489
describe('span-based spinbutton', () => {

0 commit comments

Comments
 (0)