@@ -44,10 +44,13 @@ function clickBooleanElement(element) {
44
44
function clickElement ( element , previousElement , init ) {
45
45
fireEvent . mouseOver ( element ) ;
46
46
fireEvent . mouseMove ( element ) ;
47
+ const wasAnotherElementFocused =
48
+ previousElement !== element . ownerDocument . body &&
49
+ previousElement !== element ;
47
50
const continueDefaultHandling = fireEvent . mouseDown ( element ) ;
48
51
if ( continueDefaultHandling ) {
49
- previousElement && previousElement . blur ( ) ;
50
- element . focus ( ) ;
52
+ wasAnotherElementFocused && previousElement . blur ( ) ;
53
+ previousElement !== element && element . focus ( ) ;
51
54
}
52
55
fireEvent . mouseUp ( element ) ;
53
56
fireEvent . click ( element , init ) ;
@@ -59,10 +62,13 @@ function clickElement(element, previousElement, init) {
59
62
function dblClickElement ( element , previousElement ) {
60
63
fireEvent . mouseOver ( element ) ;
61
64
fireEvent . mouseMove ( element ) ;
65
+ const wasAnotherElementFocused =
66
+ previousElement !== element . ownerDocument . body &&
67
+ previousElement !== element ;
62
68
const continueDefaultHandling = fireEvent . mouseDown ( element ) ;
63
69
if ( continueDefaultHandling ) {
64
- previousElement && previousElement . blur ( ) ;
65
- element . focus ( ) ;
70
+ wasAnotherElementFocused && previousElement . blur ( ) ;
71
+ previousElement !== element && element . focus ( ) ;
66
72
}
67
73
fireEvent . mouseUp ( element ) ;
68
74
fireEvent . click ( element ) ;
@@ -106,21 +112,21 @@ function fireChangeEvent(event) {
106
112
}
107
113
108
114
const Keys = {
109
- Backspace : { keyCode : 8 , code : "Backspace" , key : "Backspace" }
115
+ Backspace : { keyCode : 8 , code : "Backspace" , key : "Backspace" } ,
110
116
} ;
111
117
112
118
function backspace ( element ) {
113
119
const eventOptions = {
114
120
key : Keys . Backspace . key ,
115
121
keyCode : Keys . Backspace . keyCode ,
116
- which : Keys . Backspace . keyCode
122
+ which : Keys . Backspace . keyCode ,
117
123
} ;
118
124
fireEvent . keyDown ( element , eventOptions ) ;
119
125
fireEvent . keyUp ( element , eventOptions ) ;
120
126
121
127
if ( ! element . readOnly ) {
122
128
fireEvent . input ( element , {
123
- inputType : "deleteContentBackward"
129
+ inputType : "deleteContentBackward" ,
124
130
} ) ;
125
131
element . value = "" ; // when we add special keys to API, will need to respect selected range
126
132
}
@@ -152,7 +158,7 @@ const userEvent = {
152
158
break ;
153
159
}
154
160
default :
155
- clickElement ( element , wasAnotherElementFocused && focusedElement , init ) ;
161
+ clickElement ( element , focusedElement , init ) ;
156
162
}
157
163
} ,
158
164
@@ -172,7 +178,7 @@ const userEvent = {
172
178
break ;
173
179
}
174
180
default :
175
- dblClickElement ( element , wasAnotherElementFocused && focusedElement ) ;
181
+ dblClickElement ( element , focusedElement ) ;
176
182
}
177
183
} ,
178
184
@@ -185,7 +191,7 @@ const userEvent = {
185
191
fireEvent . mouseLeave ( focusedElement ) ;
186
192
}
187
193
188
- clickElement ( element , wasAnotherElementFocused && focusedElement ) ;
194
+ clickElement ( element , focusedElement ) ;
189
195
190
196
const valArray = Array . isArray ( values ) ? values : [ values ] ;
191
197
const selectedOptions = Array . from (
0 commit comments