Bug 1560881 [wpt PR 17359] - Automate pointerevent pointerlock tests, a=testonly

Automatic update from web-platform-tests
Automate pointerevent pointerlock tests

Move from gpubenchmarking automation to test driver

Bug: 606367
Change-Id: I4fbb3c9fcdda698178c8463397af4d31d0ce5080
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1660796
Commit-Queue: Ella Ge <eirage@chromium.org>
Reviewed-by: Lan Wei <lanwei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#670527}

--

wpt-commits: c9ce315893d07645acb3901d60f323f3b7d179c5
wpt-pr: 17359
This commit is contained in:
Ella Ge 2019-07-19 12:36:07 +00:00 коммит произвёл James Graham
Родитель c087bf4402
Коммит 42bbe3306c
5 изменённых файлов: 96 добавлений и 6 удалений

Просмотреть файл

@ -2,11 +2,14 @@
<html>
<head>
<title>Pointer Events properties tests</title>
<meta name="timeout" content="long">
<meta name="timeout" content="long">
<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>
<style>
@ -45,8 +48,21 @@
lastScreenY = 0;
}
function injectInput(pointerType) {
var pointerId = pointerType + "Pointer1";
return new test_driver.Actions()
.addPointer(pointerId, pointerType)
.pointerMove(0, 0, {origin: box1})
.pointerDown()
.pointerMove(20, 30, {origin: box1})
.pointerMove(60, 40, {origin: box1})
.pointerMove(0, 0, {origin: box2})
.pointerUp()
.send();
}
function run() {
var test_pointerEvent = setup_pointerevent_test("pointerevent attributes", ['mouse', 'touch']);
var test_pointerEvent = setup_pointerevent_test("pointerevent attributes", ALL_POINTERS);
[document, document.getElementById('innerFrame').contentDocument].forEach(function(element) {
on_event(element, 'pointermove', function (event) {
@ -73,14 +89,22 @@
startSummation = false;
test_pointerEvent.done();
});
// Inject input
injectInput("mouse").then(function(){
return injectInput("touch")
}).then(function() {
return injectInput("pen")
})
}
</script>
</head>
<body onload="run()">
<h1>Pointer Events movementX/Y attribute test</h1>
<h2 id="pointerTypeDescription"></h2>
<h4>
Test Description: This test checks the properties of pointer events that do not support hover.
Test Description: This test checks the movementX/Y properties of pointer events.
<ol>
<li>Press down on the black square.</li>
<li>Move your pointer slowly along a straight line to the red square.</li>

Просмотреть файл

@ -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>
@ -51,6 +54,19 @@
on_event(document,"pointerlockerror", function() {
assert_unreached("Pointer lock error");
})
// Inject mouse input
var actions = new test_driver.Actions();
actions.pointerMove(0, 0, {origin: div1})
.pointerDown({button: actions.ButtonType.LEFT})
.pointerMove(30, 30, {origin: div1})
.pointerMove(30, 0, {origin: div1})
.pointerDown({button: actions.ButtonType.RIGHT})
.pointerMove(60, 30, {origin: div1})
.pointerMove(20, 20, {origin: div1})
.pointerUp({button: actions.ButtonType.RIGHT})
.pointerUp({button: actions.ButtonType.LEFT})
.send();
}
</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>
@ -20,7 +23,7 @@
var test_pointerEvent = setup_pointerevent_test("no pointercapture while pointerlock", ['mouse']);
var div1 = document.getElementById("div1");
var div2 = document.getElementById("div2");
on_event(div1, 'pointerdown', function(event) {
div2.setPointerCapture(event.pointerId);
div1.requestPointerLock();
@ -46,7 +49,7 @@
} else if (lock_change_count == 2) {
mouse_move_count++;
if (mouse_move_count == 2) {
if (mouse_move_count >= 2) {
test_pointerEvent.step(function() {
assert_equals(capture_count, 0, "There shouldn't be any capture events fired.");
});
@ -69,6 +72,20 @@
assert_equals(document.pointerLockElement, null, "document.pointerLockElement should be null.");
});
});
// Inject mouse input
var actions = new test_driver.Actions();
actions.pointerMove(0, 0, {origin: div1})
.pointerDown()
.pointerMove(30, 30, {origin: div1})
.pointerMove(60, 30, {origin: div1})
.pointerMove(30, 20, {origin: div1})
.pointerMove(10, 50, {origin: div1})
.pointerMove(40, 10, {origin: div1})
.pointerMove(5, 30, {origin: div1})
.pointerMove(-5, 15, {origin: div1})
.pointerUp()
.send();
}
</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>
</head>
@ -58,9 +61,25 @@
});
}
});
on_event(target0, "click", function(event) {
target0.requestPointerLock();
});
var x = innerframe.getBoundingClientRect().x + target1.getBoundingClientRect().x;
var y = innerframe.getBoundingClientRect().y + target1.getBoundingClientRect().y;
// Inject mouse input
new test_driver.Actions()
.pointerMove(5, 5, {origin: target0})
.pointerDown()
.pointerUp()
.pointerMove(100, 300, {origin: target0})
.pointerMove(x+10, y+10)
.pointerDown()
.pointerUp()
.pointerMove(5, 5, {origin: target0})
.send();
}
</script>

Просмотреть файл

@ -7,6 +7,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>
</head>
@ -14,7 +17,7 @@
<h2>PointerMove</h2>
<h4>Test Description: This test checks if pointermove event are triggered by button state changes
<ol>
<li>Lick on the black rectangle to lock the pointer </li>
<li>Click on the black rectangle to lock the pointer </li>
<li>Press a button and hold it</li>
<li>Press a second button</li>
<li>Release the second button</li>
@ -86,6 +89,17 @@
on_event(target0, "contextmenu", function (event) {
event.preventDefault();
});
// Inject mouse input
var actions = new test_driver.Actions();
actions.pointerMove(0, 0, {origin: target0})
.pointerDown({button: actions.ButtonType.LEFT})
.pointerUp({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>
<h1>Pointer Lock Pointer Events pointermove on button state changes Tests</h1>