OLD | NEW |
1 <!doctype html> | 1 <!doctype html> |
2 <html> | 2 <html> |
| 3 <!-- This test should be integrated into web-platform-test when the pinch-zoom |
| 4 is accepted into the specification. |
| 5 See https://github.com/w3c/pointerevents/issues/29 --> |
3 <head> | 6 <head> |
4 <title>touch-action: pan-up</title> | 7 <title>touch-action: pinch-zoom</title> |
5 <meta name="assert" content="TA15.4 - With `touch-action: pan-up` on a s
wiped or click/dragged element, only panning in the y-axis up direction should b
e possible."> | 8 <meta name="assert" content="TA15.4 - With `touch-action: pinch-zoom` on
a swiped or click/dragged element, only pinch zoom and two finger pan should be
possible."> |
6 <meta name="viewport" content="width=device-width"> | 9 <meta name="viewport" content="width=device-width"> |
7 <link rel="stylesheet" type="text/css" href="pointerevent_styles.css"> | 10 <link rel="stylesheet" type="text/css" href="../../../imported/wpt/point
erevents/pointerevent_styles.css"> |
8 <script src="/resources/testharness.js"></script> | 11 <script src="../../../resources/testharness.js"></script> |
9 <script src="/resources/testharnessreport.js"></script> | 12 <script src="../../../resources/testharnessreport.js"></script> |
10 <script src="pointerevent_support.js"></script> | 13 <script src="../../../imported/wpt/pointerevents/pointerevent_support.js
"></script> |
11 <style> | 14 <style> |
12 #target0 { | 15 #target0 { |
13 width: 700px; | 16 width: 700px; |
14 height: 430px; | 17 height: 430px; |
15 touch-action: pan-up; | 18 touch-action: pinch-zoom; |
16 } | 19 } |
17 </style> | 20 </style> |
18 </head> | 21 </head> |
19 <body onload="run()"> | 22 <body id="target14" onload="run()"> |
20 <h1>Pointer Events touch-action attribute support</h1> | 23 <h1>Pointer Events touch-action attribute support</h1> |
21 <h4 id="desc">Test Description: Try to scroll element DOWN (drag up), th
en RIGHT (drag left), then UP (drag down). Tap Complete button under the rectang
le when done. Expected: only pans in up direction.</h4> | 24 <h4 id="desc">Test Description: Place one finger down, pan down. Lift fi
nger and place two fingers down and try to pinch zoom. Expected: only pinch zoom
s.</h4> |
22 <p>Note: this test is for touch-devices only</p> | 25 <p>Note: this test is for touch-devices only</p> |
23 <div id="target0"> | 26 <div id="target0"> |
24 <p> | 27 <p> |
25 Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed di
em | 28 Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed di
em |
26 nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam e
rat volutpat. | 29 nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam e
rat volutpat. |
27 Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamc
orper suscipit | 30 Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamc
orper suscipit |
28 lobortis nisl ut aliquip ex ea commodo consequat. | 31 lobortis nisl ut aliquip ex ea commodo consequat. |
29 </p> | 32 </p> |
30 <p>Lorem ipsum dolor sit amet...</p> | 33 <p>Lorem ipsum dolor sit amet...</p> |
31 <p>Lorem ipsum dolor sit amet...</p> | 34 <p>Lorem ipsum dolor sit amet...</p> |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 </div> | 79 </div> |
77 <input type="button" id="btnComplete" value="Complete test"> | 80 <input type="button" id="btnComplete" value="Complete test"> |
78 <script type='text/javascript'> | 81 <script type='text/javascript'> |
79 var detected_pointertypes = {}; | 82 var detected_pointertypes = {}; |
80 var test_touchaction = async_test("touch-action attribute test"); | 83 var test_touchaction = async_test("touch-action attribute test"); |
81 add_completion_callback(showPointerTypes); | 84 add_completion_callback(showPointerTypes); |
82 | 85 |
83 function run() { | 86 function run() { |
84 var target0 = document.getElementById("target0"); | 87 var target0 = document.getElementById("target0"); |
85 var btnComplete = document.getElementById("btnComplete"); | 88 var btnComplete = document.getElementById("btnComplete"); |
86 target0.scrollTop = 200; | |
87 | 89 |
88 var scrollListenerExecuted = false; | 90 var scrollListenerExecuted = false; |
89 target0.addEventListener("scroll", function(event) { | 91 target0.addEventListener("scroll", function(event) { |
90 scrollListenerExecuted = true; | 92 scrollListenerExecuted = true; |
91 assert_less_than_equal(target0.scrollTop, 200); | |
92 }); | 93 }); |
93 | 94 |
94 // Check if "touch-action: pan-up" attribute works properly | 95 // Check if "touch-action: pinch-zoom" attribute works properly |
95 //TA: 15.4 | 96 //TA: 15.4 |
96 on_event(btnComplete, 'click', function(event) { | 97 on_event(btnComplete, 'click', function(event) { |
97 detected_pointertypes[event.pointerType] = true; | 98 detected_pointertypes[event.pointerType] = true; |
98 test_touchaction.step(function() { | 99 test_touchaction.step(function() { |
99 assert_true(scrollListenerExecuted, "scroll listener sho
uld have been executed by the end of the test"); | 100 assert_true(scrollListenerExecuted, "scroll listener sho
uld not have been executed by the end of the test"); |
100 assert_equals(target0.scrollLeft, 0, "scroll x offset sh
ould be 0 in the end of the test"); | 101 assert_equals(target0.scrollLeft, 0, "scroll x offset sh
ould be 0 in the end of the test"); |
101 assert_less_than(target0.scrollTop, 200, "scroll y offse
t should be less than 200 in the end of the test"); | 102 assert_equals(target0.scrollTop, 0, "scroll y offset sho
uld be 0 in the end of the test"); |
| 103 assert_greater_than(window.visualViewport.scale, 1, "sca
le should be greater than 1 in the end of the test"); |
102 }); | 104 }); |
103 test_touchaction.done(); | 105 test_touchaction.done(); |
104 updateDescriptionComplete(); | 106 updateDescriptionComplete(); |
105 }); | 107 }); |
106 } | 108 } |
107 </script> | 109 </script> |
108 <h1>touch-action: pan-up</h1> | 110 <h1>touch-action: pinch-zoom</h1> |
109 <div id="complete-notice"> | 111 <div id="complete-notice"> |
110 <p>The following pointer types were detected: <span id="pointertype-
log"></span>.</p> | 112 <p>The following pointer types were detected: <span id="pointertype-
log"></span>.</p> |
111 </div> | 113 </div> |
112 <div id="log"></div> | 114 <div id="log"></div> |
| 115 |
| 116 <script> |
| 117 function inject_input() { |
| 118 return touchScrollInTarget('#target0', 'down').then(function() { |
| 119 return pinchZoomInTarget('#target0', 3.0); |
| 120 }).then(function() { |
| 121 return touchTapInTarget('#btnComplete'); |
| 122 }); |
| 123 } |
| 124 </script> |
| 125 <script src='../../../imported/wpt_automation/pointerevents/pointerevent
_common_input.js'></script> |
113 </body> | 126 </body> |
114 </html> | 127 </html> |
OLD | NEW |