-
-
Notifications
You must be signed in to change notification settings - Fork 97
Generate a FocusEvent (not Event) for focus-related events#272
Generate a FocusEvent (not Event) for focus-related events #272davidrunger wants to merge 1 commit intorubycdp:main from
Conversation
Context
The reason that this initially came to my attention (and my motivation for this change) is that a JavaScript library that I use (element-plus) actually validates that focus and blur events are indeed instances of FocusEvent.
Because currently on main Cuprite generates Event objects (not FocusEvent objects), warnings are printed when I execute in my application's test suite a feature spec that uses the Capybara fill_in method (which triggers focus and blur events) to fill in one of the inputs managed by that element-plus library:
This change makes it so that those warnings are no longer printed when I use the Capybara fill_in method to fill in an input for which the focus and blur event types are validated by element-plus.
Looking at the Ruby 3.3 test run, there are five failing specs (link).
I believe that none of those failures are related to my change, and that those failures are already present on main. All five of those tests also fail when I run the test suite locally on main.
Edit: I submitted a separate PR to fix these spec failures.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would like tests to cover the change in this PR, so I added the event constructor name in parentheses here. On main, this text would be Focus (Event). On this branch, it's Focus (FocusEvent).
davidrunger
commented
Aug 26, 2024
Looking at the Ruby 3.3 test run, there are five failing specs (link).
I believe that none of those failures are related to my change, and that those failures are already present on
main. All five of those tests also fail when I run the test suite locally onmain.
I have submitted a separate PR to fix these spec failures that currently exist on the main branch: #273.
Uh oh!
There was an error while loading. Please reload this page.
Currently on
main, focus-related events (blur, focus, focusin, and focusout) create a JavaScriptEventobject.However, as can be seen by clicking into and out of the input in this JSFiddle (tested in Firefox 130 and Chrome 128), those events should actually be JavaScript
FocusEventobjects (notEventobjects).This change makes it so that Cuprite will generate
FocusEventobjects (notEventobjects) for focus-related events.