summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/pointerevents/pointerevent_pointerrawupdate.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/pointerevents/pointerevent_pointerrawupdate.html')
-rw-r--r--testing/web-platform/tests/pointerevents/pointerevent_pointerrawupdate.html69
1 files changed, 69 insertions, 0 deletions
diff --git a/testing/web-platform/tests/pointerevents/pointerevent_pointerrawupdate.html b/testing/web-platform/tests/pointerevents/pointerevent_pointerrawupdate.html
new file mode 100644
index 0000000000..74c14d932f
--- /dev/null
+++ b/testing/web-platform/tests/pointerevents/pointerevent_pointerrawupdate.html
@@ -0,0 +1,69 @@
+<!doctype html>
+<html>
+ <head>
+ <title>pointerrawupdate</title>
+ <meta name="viewport" content="width=device-width">
+ <link rel="stylesheet" type="text/css" href="pointerevent_styles.css">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/resources/testdriver.js"></script>
+ <script src="/resources/testdriver-actions.js"></script>
+ <script src="/resources/testdriver-vendor.js"></script>
+ <!-- Additional helper script for common checks across event types -->
+ <script type="text/javascript" src="pointerevent_support.js"></script>
+ </head>
+ <body onload="run()">
+ <h2>pointerrawupdate</h2>
+ <h4>Test Description: This test checks if pointerrawupdate is dispatched correctly. </h4>
+ <p>Move your mouse within the black box.</p>
+ <p>Press left button down and then press middle button while holding down left button. Then release the buttons</p>
+ <div id="target0"></div>
+ <script>
+ var test_pointerrawupdate = async_test("pointerrawupdate event received");
+ var actions_promise;
+
+ var pointerrawupdateReceived = false;
+ var pointerdownReceived = false;
+ var pointerrawupdateFromButtonChangeReceived = false;
+
+ function run() {
+ var target0 = document.getElementById("target0");
+
+ on_event(target0, "pointerrawupdate", function (event) {
+ pointerrawupdateReceived = true;
+ if (pointerdownReceived && event.button != -1)
+ pointerrawupdateFromButtonChangeReceived = true;
+ });
+ on_event(target0, "pointermove", function (event) {
+ test_pointerrawupdate.step(function() {
+ assert_true(pointerrawupdateReceived,
+ "Pointerrawupdate event should have been received before pointermove.");
+ }, "Pointerrawupdate event should have been received before pointermove.");
+ });
+ on_event(target0, "pointerdown", function (event) {
+ pointerdownReceived = true;
+ });
+ on_event(target0, "pointerup", function (event) {
+ test_pointerrawupdate.step(function() {
+ assert_true(pointerrawupdateFromButtonChangeReceived,
+ "Pointerrawupdate event should have been received from chorded button changes.");
+ }, "Pointerrawupdate event should have been received from chorded button changes.");
+ // Make sure the test finishes after all the input actions are completed.
+ actions_promise.then( () => {
+ test_pointerrawupdate.done();
+ });
+ });
+ var actions = new test_driver.Actions();
+ actions_promise = actions.pointerMove(0, 0, {origin: target0, button: actions.ButtonType.LEFT})
+ .pointerDown({button: actions.ButtonType.LEFT})
+ .pointerDown({button: actions.ButtonType.MIDDLE})
+ .pointerUp({button: actions.ButtonType.MIDDLE})
+ .pointerUp({button: actions.ButtonType.LEFT})
+ .send();
+ }
+
+ </script>
+ <div id="complete-notice">
+ </div>
+ </body>
+</html>