summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/pointerevents/pointerevent_touch-action-rotated-divs_touch-manual.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/pointerevents/pointerevent_touch-action-rotated-divs_touch-manual.html')
-rw-r--r--testing/web-platform/tests/pointerevents/pointerevent_touch-action-rotated-divs_touch-manual.html92
1 files changed, 92 insertions, 0 deletions
diff --git a/testing/web-platform/tests/pointerevents/pointerevent_touch-action-rotated-divs_touch-manual.html b/testing/web-platform/tests/pointerevents/pointerevent_touch-action-rotated-divs_touch-manual.html
new file mode 100644
index 0000000000..1c09b15f1f
--- /dev/null
+++ b/testing/web-platform/tests/pointerevents/pointerevent_touch-action-rotated-divs_touch-manual.html
@@ -0,0 +1,92 @@
+<!doctype html>
+<html>
+ <head>
+ <title>Pointer Event: touch-action in rotated divs</title>
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
+ <link rel="author" title="Google" href="http://www.google.com "/>
+ <link rel="help" href="https://w3c.github.io/pointerevents/#declaring-candidate-regions-for-default-touch-behaviors" />
+ <meta name="assert" content="Tests that touch-action directions in a div rotated by 90-degrees are interpreted in the local (rotated) coordinate space"/>
+ <link rel="stylesheet" type="text/css" href="pointerevent_styles.css">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script type="text/javascript" src="pointerevent_support.js"></script>
+ <script type="text/javascript">
+ var event_log = [];
+
+ function resetTestState() {
+ event_log = [];
+ }
+
+ function run() {
+ var current_test = 0;
+ var test_params = [
+ {
+ test_obj: setup_pointerevent_test("'touch-action: pan-x' in a rotated div", ["touch"]),
+ touch_action: "pan-x",
+ expected_events: "pointercancel, pointercancel, pointerup, pointerup"
+ },
+ {
+ test_obj: setup_pointerevent_test("'touch-action: pan-y' in a rotated div", ["touch"]),
+ touch_action: "pan-y",
+ expected_events: "pointerup, pointerup, pointercancel, pointercancel"
+ },
+ ];
+
+ function setCurrentTouchAction() {
+ document.getElementById("target").style.touchAction = test_params[current_test].touch_action;
+ }
+
+ setCurrentTouchAction();
+
+ on_event(document.getElementById("btnDone"), "click", function() {
+ test_params[current_test].test_obj.step(function () {
+ assert_equals(event_log.join(", "), test_params[current_test].expected_events);
+ });
+
+ event_log = [];
+
+ test_params[current_test++].test_obj.done();
+ if (current_test < 2)
+ setCurrentTouchAction();
+ });
+
+ ["pointerup", "pointercancel"].forEach(function(eventName) {
+ on_event(document.getElementById("target"), eventName, function (event) {
+ event_log.push(event.type);
+ });
+ });
+ }
+ </script>
+ <style>
+ #target {
+ width: 200px;
+ height: 200px;
+ margin: 10px;
+ float: left;
+ touch-action: none;
+ background-color: green;
+ transform: rotate(-90deg);
+ }
+
+ #btnDone {
+ padding: 20px;
+ }
+ </style>
+ </head>
+ <body onload="run()">
+ <h1>Pointer Event: touch-action in rotated divs</h1>
+ <h2 id="pointerTypeDescription"></h2>
+ <h4>
+ Tests that touch-action directions in a div rotated by 90-degrees are interpreted in the local (rotated) coordinate space
+ </h4>
+ <ol>
+ <li>Make 4 separate touch drags on Green, in this order: drag UP, then drag DOWN, then drag LEFT, then drag RIGHT.</li>
+ <li>Tap on Done.</li>
+ <li>Repeat the touch drags once again, in the same order.</li>
+ <li>Tap on Done.</li>
+ </ol>
+ <div id="target"></div>
+ <input type="button" id="btnDone" value="Done" />
+ <div id="log" />
+ </body>
+</html>