@@ -198,28 +198,33 @@ def test_pen_pointer_properties(driver, pages):
198198 ).pointer_up ().move_to (pointerArea , x = 5 , y = 10 )
199199 actions .perform ()
200200 events = _get_events (driver )
201- assert events [3 ]["type" ] == "pointerdown"
202- assert events [3 ]["pageX" ] == pytest .approx (center ["x" ], abs = 1.0 )
203- assert events [3 ]["pageY" ] == pytest .approx (center ["y" ], abs = 1.0 )
204- assert events [3 ]["target" ] == "pointerArea"
205- assert events [3 ]["pointerType" ] == "pen"
206- # The default value of width and height for mouse and pen inputs is 1
207- assert round (events [3 ]["width" ], 2 ) == 1
208- assert round (events [3 ]["height" ], 2 ) == 1
209- assert round (events [3 ]["pressure" ], 2 ) == 0.36
210- assert events [3 ]["tiltX" ] == - 72
211- assert events [3 ]["tiltY" ] == 9
212- assert events [3 ]["twist" ] == 86
213- assert events [6 ]["type" ] == "pointermove"
214- assert events [6 ]["target" ] == "pointerArea"
215- assert events [6 ]["pointerType" ] == "pen"
216- assert round (events [6 ]["width" ], 2 ) == 1
217- assert round (events [6 ]["height" ], 2 ) == 1
218- # The default value of pressure for all inputs is 0.5, other properties are 0
219- assert round (events [6 ]["pressure" ], 2 ) == 0.5
220- assert events [6 ]["tiltX" ] == 0
221- assert events [6 ]["tiltY" ] == 0
222- assert events [6 ]["twist" ] == 0
201+
202+ # Find the first pointerdown and pointermove events for pen
203+ pen_events = [e for e in events if e ["pointerType" ] == "pen" ]
204+ pointerdown_event = next ((e for e in pen_events if e ["type" ] == "pointerdown" ), None )
205+ pointermove_event = next ((e for e in pen_events if e ["type" ] == "pointermove" and e .get ("buttons" , 0 ) == 1 ), None )
206+
207+ assert pointerdown_event is not None , "No pointerdown event found for pen"
208+ assert pointerdown_event ["pageX" ] == pytest .approx (center ["x" ], abs = 1.0 )
209+ assert pointerdown_event ["pageY" ] == pytest .approx (center ["y" ], abs = 1.0 )
210+ assert pointerdown_event ["target" ] == "pointerArea"
211+ assert pointerdown_event ["pointerType" ] == "pen"
212+ assert round (pointerdown_event ["width" ], 2 ) == 1
213+ assert round (pointerdown_event ["height" ], 2 ) == 1
214+ assert round (pointerdown_event ["pressure" ], 2 ) == 0.36
215+ assert pointerdown_event ["tiltX" ] == - 72
216+ assert pointerdown_event ["tiltY" ] == 9
217+ assert pointerdown_event ["twist" ] == 86
218+
219+ assert pointermove_event is not None , "No pointermove event found for pen with buttons == 1"
220+ assert pointermove_event ["target" ] == "pointerArea"
221+ assert pointermove_event ["pointerType" ] == "pen"
222+ assert round (pointermove_event ["width" ], 2 ) == 1
223+ assert round (pointermove_event ["height" ], 2 ) == 1
224+ assert round (pointermove_event ["pressure" ], 2 ) == 0.5
225+ assert pointermove_event ["tiltX" ] == 0
226+ assert pointermove_event ["tiltY" ] == 0
227+ assert pointermove_event ["twist" ] == 0
223228
224229
225230@pytest .mark .xfail_firefox
0 commit comments