Commit 501ae8c7 authored by Lan Wei's avatar Lan Wei Committed by Commit Bot

Use testdriver Action API in WPT pointerevent tests - Part 4

In order to run the web-platform-tests automatically, we will use
testdriver Action API in all the wpt to simulate inputs. Here we are
changing some pointerevent input tests which are doing dragging and
some tests test touch, mouse and pen inputs.

This is the four CL that changes part of the pointerevent input tests.

Bug: 606367
Change-Id: I179917a46a3fc759b4f1763a0595b977589435cf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1592527Reviewed-by: default avatarNavid Zolghadr <nzolghadr@chromium.org>
Commit-Queue: Lan Wei <lanwei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#655997}
parent 14e0a526
......@@ -6,6 +6,9 @@
<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>
<script type="text/javascript" src="../pointerevent_support.js"></script>
<style>
#testContainer {
......@@ -38,6 +41,9 @@
});
}
});
// Inject mouse inputs.
pointerDragInTarget('mouse', div1, 'right');
}
</script>
</head>
......
......@@ -6,6 +6,9 @@
<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>
<script>
......@@ -67,6 +70,13 @@
}
});
});
// Inject pointer inputs.
pointerDragInTarget('mouse', target0, 'right').then(function() {
return pointerDragInTarget('touch', target0, 'right');
}).then(function() {
return pointerDragInTarget('pen', target0, 'right');
});
}
</script>
</head>
......
......@@ -8,6 +8,9 @@
<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>
<script type="text/javascript">
......@@ -111,6 +114,13 @@
on_event(target0, All_Pointer_Events[i], targetEventHandler);
on_event(listener, All_Pointer_Events[i], listenerEventHandler);
}
// Inject pointer inputs.
pointerDragInTarget('mouse', target0, 'right').then(function() {
return pointerDragInTarget('touch', target0, 'right');
}).then(function() {
return pointerDragInTarget('pen', target0, 'right');
});
}
</script>
</head>
......
......@@ -8,6 +8,9 @@
<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>
<script type="text/javascript" src="pointerevent_support.js"></script>
<script type="text/javascript">
var detected_pointertypes = {};
......@@ -23,6 +26,7 @@
function run() {
var test_pointer_event = setup_pointerevent_test("Event sequence at implicit release on drag", ["touch"]);
var button = document.getElementById("done");
on_event(document.getElementById("done"), "click", function() {
test_pointer_event.step(function () {
var expected_events = "pointercancel, lostpointercapture, pointerout, pointerleave";
......@@ -48,6 +52,11 @@
}
});
});
// Inject touch inputs.
pointerDragInTarget("touch", target, 'right').then(function() {
return touchTapInTarget(button);
});
}
</script>
<style>
......
......@@ -285,3 +285,42 @@ function touchScrollInTarget(target, direction) {
.pointerUp()
.send();
}
function touchTapInTarget(target) {
return new test_driver.Actions()
.addPointer("pointer1", "touch")
.pointerMove(0, 0, {origin: target})
.pointerDown()
.pointerUp()
.send();
}
function pointerDragInTarget(pointerType, target, direction) {
var x_delta = 0;
var y_delta = 0;
if (direction == "down") {
x_delta = 0;
y_delta = 10;
} else if (direction == "up") {
x_delta = 0;
y_delta = -10;
} else if (direction == "right") {
x_delta = 10;
y_delta = 0;
} else if (direction == "left") {
x_delta = -10;
y_delta = 0;
} else {
throw("drag direction '" + direction + "' is not expected, direction should be 'down', 'up', 'left' or 'right'");
}
var pointerId = pointerType + "Pointer1";
return new test_driver.Actions()
.addPointer(pointerId, pointerType)
.pointerMove(0, 0, {origin: target})
.pointerDown()
.pointerMove(x_delta, y_delta, {origin: target})
.pointerMove(2 * x_delta, 2 * y_delta, {origin: target})
.pointerMove(3 * x_delta, 3 * y_delta, {origin: target})
.pointerUp()
.send();
}
......@@ -6,6 +6,9 @@
<link rel="stylesheet" type="text/css" href="/external/wpt/pointerevents/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>
<script type="text/javascript" src="../pointerevent_support.js"></script>
<style>
#testContainer {
......@@ -59,6 +62,9 @@
test_pointerEvent.done();
}
});
// Inject mouse inputs.
pointerDragInTarget('mouse', target, 'right');
}
</script>
</head>
......
importAutomationScript('/pointerevents/pointerevent_common_input.js');
function inject_input() {
return pointerDragInTarget('mouse', '#target', 'left');
}
importAutomationScript('/pointerevents/pointerevent_common_input.js');
function inject_input() {
return pointerDragInTarget('mouse', '#target0', 'right').then(function() {
return pointerDragInTarget('touch', '#target0', 'right');
}).then(function() {
return pointerDragInTarget('pen', '#target0', 'right');
});
}
importAutomationScript('/pointerevents/pointerevent_common_input.js');
function inject_input() {
return pointerDragInTarget('mouse', '#target0', 'right').then(function() {
return pointerDragInTarget('touch', '#target0', 'right');
}).then(function() {
return pointerDragInTarget('pen', '#target0', 'right');
});
}
importAutomationScript('/pointerevents/pointerevent_common_input.js');
function inject_input() {
return pointerDragInTarget('touch', '#target', 'right').then(function() {
return touchTapInTarget('#done');
});
}
importAutomationScript('/pointerevents/pointerevent_common_input.js');
function inject_input() {
return pointerDragInTarget('mouse', '#target', 'right');
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment