angular / angular/components

CDK/testing: typeInElement ignores event.defaultPrevented

Offen
#27,475 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
area: cdk/testing G P3
Vorherrschende Sprache
TypeScript
Sterne
25k
Forks
6.8k
Ø Merge
1 T. 8 Std.
Gemergte PRs (30 T.)
91

Beschreibung

### Is this a regression?

- [ ] Yes, this behavior used to work in the previous version

### The previous version in which this bug was not present was

_No response_

### Description

The `typeInElement` [1] still sets the input value even if the `keydown` event has default prevented. This is different from the actual behavior [2]

[1]: https://github.com/angular/components/blob/ffffc82084b3528a4b5a95a91ec77359449acc97/src/cdk/testing/testbed/fake-events/type-in-element.ts#L114
[2]: https://stackblitz.com/edit/web-platform-gwblaq?file=script.js

### Reproduction

StackBlitz link: https://stackblitz.com/edit/harness-issue-4xv58x?file=src%2Fapp%2Fharness-example.html

### Expected Behavior

`event.preventDefault()` should stop the browser from populating the input element.

### Actual Behavior

Input element is still populated with values

### Environment

- Angular: 10.2.3
- CDK/Material: 11.0.0
- Browser(s): Chrome
- Operating System (e.g. Windows, macOS, Ubuntu): macOS

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne in src/cdk/testing/testbed/fake-events/type-in-element.ts bei der verlinkten Zeile und führe dann die bereitgestellte StackBlitz-Reproduktion aus, um das Verhalten des Harness mit dem Verhalten des Browsers zu vergleichen. Das Issue ist erledigt, wenn ein keydown-Ereignis mit gesetztem defaultPrevented das Eingabeelement nicht mehr befüllt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
angular, typescript
Bereich
testing
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.