pointerevent_getPredictedEvents_when_pointerlocked-manual.html (3637B)
1 <!doctype html> 2 <html> 3 <head> 4 <title>Pointer Events pointer lock tests</title> 5 <meta name="viewport" content="width=device-width"> 6 <link rel="stylesheet" type="text/css" href="pointerevent_styles.css"> 7 <script src="/resources/testharness.js"></script> 8 <script src="/resources/testharnessreport.js"></script> 9 <script type="text/javascript" src="pointerevent_support.js"></script> 10 <style> 11 #testContainer { 12 touch-action: none; 13 user-select: none; 14 position: relative; 15 } 16 </style> 17 <script> 18 var lock_change_count = 0; 19 var move_event_count = 0; 20 var mouseeventMovements = [] 21 var pointereventMovements = [] 22 23 function resetTestState() { 24 } 25 26 function run() { 27 var test_pointerEvent = setup_pointerevent_test("pointermove getPredictedEvents when lock test", ['mouse']); 28 var div1 = document.getElementById("target"); 29 30 on_event(div1, 'pointerdown', function(event) { 31 div1.requestPointerLock(); 32 }); 33 on_event(div1, 'pointermove', function(event) { 34 if (document.pointerLockElement == div1) { 35 test_pointerEvent.step(function() { 36 if (event.getPredictedEvents().length > 0) { 37 for (var i=0; i<event.getPredictedEvents().length; i++) { 38 var predictedEvent = event.getPredictedEvents()[i]; 39 test_pointerEvent.step(function() { 40 assert_equals(predictedEvent.pointerId, event.pointerId, "getPredictedEvents()[" + i + "].pointerId"); 41 assert_equals(predictedEvent.pointerType, event.pointerType, "getPredictedEvents()[" + i + "].pointerType"); 42 assert_equals(predictedEvent.target, document.pointerLockElement, "getPredictedEvents()[" + i + "].target"); 43 assert_equals(predictedEvent.clientX, event.clientX, "getPredictedEvents()[" + i + "].clientX"); 44 assert_equals(predictedEvent.clientY, event.clientY, "getPredictedEvents()[" + i + "].clientY"); 45 }); 46 } 47 document.exitPointerLock(); 48 test_pointerEvent.done(); 49 } else { 50 assert_less_than(++move_event_count, 20, "pointermove have no predicted event in 20 moves") 51 } 52 }); 53 } 54 }); 55 } 56 </script> 57 </head> 58 <body onload="run()"> 59 <h1>PointerMove getPredictedEvent in locked state test</h1> 60 <h2 id="pointerTypeDescription"></h2> 61 <h4> 62 Test Description: This test checks if pointerevent.getPredictedEvent work correctly when pointer is locked. 63 <ol> 64 <li>Press left button down on the green rectangle to lock pointer.</li> 65 <li>Move the mouse</li> 66 </ol> 67 </ol> 68 69 Test passes if the proper behavior of the events is observed. 70 </h4> 71 <div id="testContainer"> 72 <div id="target" style="width:800px;height:250px;background:green"></div> 73 </div> 74 <div class="spacer"></div> 75 </body> 76 </html>