webkitpy: Implement device type specific expected results (Part 2)
[WebKit-https.git] / LayoutTests / platform / iphone-7 / fast / events / touch / prevent-default-touchmove-prevents-scrolling.html
1 <html >
2 <head>
3 <script src="../../../../../resources/js-test-pre.js"></script>
4 <style>
5 #scroller {
6     border: 2px solid black;
7     height: 400px;
8     overflow: scroll;
9     position: absolute;
10 }
11         
12 #big {
13     width: 50px;
14     height: 2000px;
15     background-color: purple;
16     border: 15px solid green;
17 }
18 </style>
19 </head>
20
21 <body>
22 <div id="scroller">
23     <div id="big"></div>
24 </div>
25
26 <script>
27 description("Test that preventing default on touchmove will prevent scrolling in overflow:scroll.");
28 window.jsTestIsAsync = true;
29
30 function getUIScript(startX, startY, endX, endY)
31 {
32     return `
33     (function() {
34      var eventStream = {
35      events : [
36         {
37         interpolate : "linear",
38         timestep: 0.025,
39         startEvent : {
40         inputType : "hand",
41         timeOffset : 0,
42         touches : [
43             {
44             inputType : "finger",
45             phase : "began",
46             id : 1,
47             x : ${startX},
48             y : ${startY},
49             pressure : 0
50             }
51         ]
52         },
53         endEvent : {
54         inputType : "hand",
55         timeOffset : 3.0,
56         touches : [
57             {
58             inputType : "finger",
59             phase : "stationary",
60             id : 1,
61             x : ${endX},
62             y : ${endY},
63             pressure : 500
64             }
65         ]
66         }
67     }
68     ]
69     };
70      
71     uiController.sendEventStream(JSON.stringify(eventStream), function() {
72         uiController.uiScriptComplete();
73     });
74     })();`
75 }
76
77 function runTest()
78 {
79     function touchmoveEventHandler(event) {
80         event.preventDefault();
81     }
82
83     let eventTarget = document.getElementById("scroller");
84     eventTarget.addEventListener("touchmove", touchmoveEventHandler);
85     let clientRect = eventTarget.getBoundingClientRect();
86     
87     if (window.testRunner) {
88         testRunner.runUIScript(getUIScript(clientRect.left + 10, clientRect.top + 200, clientRect.left + 10, clientRect.top + 10), function(result) {
89                             shouldBe("document.getElementById('scroller').scrollTop", "0");
90                             finishJSTest();
91                                });
92     }
93 }
94
95 window.addEventListener('load', runTest, false);
96 </script>
97 <script src="../../../../../resources/js-test-post.js"></script>
98 </body>
99 </html>