<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Pointer Lock event constructor</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <link rel="help" href="http://www.w3.org/TR/pointerlock/#pointerlockchange-and-pointerlockerror-events"> <link rel="help" href="http://www.w3.org/TR/dom/#interface-event"> </head> <body> <p>Create Pointer Lock events and check each default value.</p> <div id='log'></div> <script> test(function() { var ev = new MouseEvent("pointerlockchange"); assert_equals(ev.type, "pointerlockchange"); assert_equals(ev.target, null); assert_equals(ev.currentTarget, null); assert_equals(ev.bubbles, false); assert_equals(ev.eventPhase, Event.NONE); assert_equals(ev.cancelable, false); assert_true("preventDefault" in ev); assert_equals(ev.defaultPrevented, false); assert_true(ev.timeStamp > 0); assert_true("initEvent" in ev); assert_true("movementX" in ev, "movementX exists"); assert_true("movementY" in ev, "movementY exists"); assert_equals(ev.movementX, 0); assert_equals(ev.movementY, 0); }, "Default event values for mouse event interface and its pointer lock extensions."); test(function() { var ev = new MouseEvent("pointerlockerror", { type: "trololol", bubbles: true, cancelable: false, get defaultPrevented() { assert_unreached("Should not look at the defaultPrevented property."); }, movementX: 10, movementY: 10}); assert_equals(ev.type, "pointerlockerror"); assert_equals(ev.bubbles, true); // this is synthetic event, so follow the dictionary assert_equals(ev.cancelable, false); assert_equals(ev.defaultPrevented, false); assert_equals(ev.movementX, 10); // this is synthetic event, so follow the dictionary assert_equals(ev.movementY, 10); // this is synthetic event, so follow the dictionary }, "Default event values for pointerlockerror using a dictionary"); </script> </body> </html>