@@ -102,7 +102,7 @@ public void NewKeyDownUpEvents_Events_Are_Raised_With_Only_Key_Modifiers (bool s
102
102
Assert . Equal ( alt , e . IsAlt ) ;
103
103
Assert . Equal ( control , e . IsCtrl ) ;
104
104
Assert . False ( keyDown ) ;
105
- Assert . True ( view . OnKeyDownCalled ) ;
105
+ Assert . False ( view . OnKeyDownCalled ) ;
106
106
keyDown = true ;
107
107
} ;
108
108
view . KeyDownNotHandled += ( s , e ) => { keyDownNotHandled = true ; } ;
@@ -114,7 +114,7 @@ public void NewKeyDownUpEvents_Events_Are_Raised_With_Only_Key_Modifiers (bool s
114
114
Assert . Equal ( alt , e . IsAlt ) ;
115
115
Assert . Equal ( control , e . IsCtrl ) ;
116
116
Assert . False ( keyUp ) ;
117
- Assert . True ( view . OnKeyUpCalled ) ;
117
+ Assert . False ( view . OnKeyUpCalled ) ;
118
118
keyUp = true ;
119
119
} ;
120
120
@@ -147,6 +147,7 @@ public void NewKeyDownEvent_Handled_True_Stops_Processing ()
147
147
{
148
148
var keyDown = false ;
149
149
var keyDownNotHandled = false ;
150
+ var keyHandled = false ;
150
151
151
152
var view = new OnNewKeyTestView ( ) ;
152
153
Assert . True ( view . CanFocus ) ;
@@ -156,8 +157,8 @@ public void NewKeyDownEvent_Handled_True_Stops_Processing ()
156
157
{
157
158
Assert . Equal ( KeyCode . A , e . KeyCode ) ;
158
159
Assert . False ( keyDown ) ;
159
- Assert . True ( view . OnKeyDownCalled ) ;
160
- e . Handled = true ;
160
+ Assert . False ( view . OnKeyDownCalled ) ;
161
+ e . Handled = keyHandled ;
161
162
keyDown = true ;
162
163
} ;
163
164
@@ -167,15 +168,29 @@ public void NewKeyDownEvent_Handled_True_Stops_Processing ()
167
168
Assert . Equal ( KeyCode . A , e . KeyCode ) ;
168
169
Assert . False ( keyDownNotHandled ) ;
169
170
Assert . False ( view . OnProcessKeyDownCalled ) ;
170
- e . Handled = true ;
171
+ e . Handled = keyHandled ;
171
172
keyDownNotHandled = true ;
172
173
} ;
173
174
174
175
view . NewKeyDownEvent ( Key . A ) ;
175
176
Assert . True ( keyDown ) ;
176
- Assert . False ( keyDownNotHandled ) ;
177
+ Assert . True ( keyDownNotHandled ) ;
177
178
178
179
Assert . True ( view . OnKeyDownCalled ) ;
180
+ Assert . True ( view . OnProcessKeyDownCalled ) ;
181
+
182
+ keyDown = false ;
183
+ keyDownNotHandled = false ;
184
+ keyHandled = true ;
185
+ view . CancelVirtualMethods = true ;
186
+ view . OnKeyDownCalled = false ;
187
+ view . OnProcessKeyDownCalled = false ;
188
+
189
+ view . NewKeyDownEvent ( Key . A ) ;
190
+ Assert . True ( keyDown ) ;
191
+ Assert . False ( keyDownNotHandled ) ;
192
+
193
+ Assert . False ( view . OnKeyDownCalled ) ;
179
194
Assert . False ( view . OnProcessKeyDownCalled ) ;
180
195
}
181
196
@@ -223,7 +238,7 @@ public void NewKeyDownEvent_ProcessKeyDown_Handled_Stops_Processing ()
223
238
{
224
239
Assert . Equal ( KeyCode . A , e . KeyCode ) ;
225
240
Assert . False ( keyDown ) ;
226
- Assert . True ( view . OnKeyDownCalled ) ;
241
+ Assert . False ( view . OnKeyDownCalled ) ;
227
242
e . Handled = false ;
228
243
keyDown = true ;
229
244
} ;
@@ -232,7 +247,7 @@ public void NewKeyDownEvent_ProcessKeyDown_Handled_Stops_Processing ()
232
247
{
233
248
Assert . Equal ( KeyCode . A , e . KeyCode ) ;
234
249
Assert . False ( keyDownNotHandled ) ;
235
- Assert . True ( view . OnProcessKeyDownCalled ) ;
250
+ Assert . False ( view . OnProcessKeyDownCalled ) ;
236
251
e . Handled = true ;
237
252
keyDownNotHandled = true ;
238
253
} ;
@@ -242,13 +257,14 @@ public void NewKeyDownEvent_ProcessKeyDown_Handled_Stops_Processing ()
242
257
Assert . True ( keyDownNotHandled ) ;
243
258
244
259
Assert . True ( view . OnKeyDownCalled ) ;
245
- Assert . True ( view . OnProcessKeyDownCalled ) ;
260
+ Assert . False ( view . OnProcessKeyDownCalled ) ;
246
261
}
247
262
248
263
[ Fact ]
249
264
public void NewKeyUpEvent_KeyUp_Handled_True_Stops_Processing ( )
250
265
{
251
266
var keyUp = false ;
267
+ var keyHandled = false ;
252
268
253
269
var view = new OnNewKeyTestView ( ) ;
254
270
Assert . True ( view . CanFocus ) ;
@@ -259,7 +275,7 @@ public void NewKeyUpEvent_KeyUp_Handled_True_Stops_Processing ()
259
275
Assert . Equal ( KeyCode . A , e . KeyCode ) ;
260
276
Assert . False ( keyUp ) ;
261
277
Assert . False ( view . OnProcessKeyDownCalled ) ;
262
- e . Handled = true ;
278
+ e . Handled = keyHandled ;
263
279
keyUp = true ;
264
280
} ;
265
281
@@ -269,6 +285,18 @@ public void NewKeyUpEvent_KeyUp_Handled_True_Stops_Processing ()
269
285
Assert . True ( view . OnKeyUpCalled ) ;
270
286
Assert . False ( view . OnKeyDownCalled ) ;
271
287
Assert . False ( view . OnProcessKeyDownCalled ) ;
288
+
289
+ keyUp = false ;
290
+ keyHandled = true ;
291
+ view . CancelVirtualMethods = true ;
292
+ view . OnKeyUpCalled = false ;
293
+
294
+ view . NewKeyUpEvent ( Key . A ) ;
295
+ Assert . True ( keyUp ) ;
296
+
297
+ Assert . False ( view . OnKeyUpCalled ) ;
298
+ Assert . False ( view . OnKeyDownCalled ) ;
299
+ Assert . False ( view . OnProcessKeyDownCalled ) ;
272
300
}
273
301
274
302
[ Theory ]
0 commit comments