Commit fd250b29 authored by Lan Wei's avatar Lan Wei Committed by Commit Bot

Simulate user inputs in mouseover-out.html

Use testdriver Action API to simulate mouse actions in
uievents/order-of-events/mouse-events/mouseover-out.html.

Bug: 1145677
Change-Id: I7438c4faea4e5bbb8e757a8db265571cc559003a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2518819Reviewed-by: default avatarMustaq Ahmed <mustaq@chromium.org>
Commit-Queue: Lan Wei <lanwei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#824160}
parent 7a3a2e15
...@@ -3,6 +3,9 @@ ...@@ -3,6 +3,9 @@
<title>Mouseover/mouseout handling</title> <title>Mouseover/mouseout handling</title>
<script src="/resources/testharness.js"></script> <script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.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>
<style> <style>
#outer, #outer,
#inner, #inner,
...@@ -53,6 +56,7 @@ ...@@ -53,6 +56,7 @@
var t = async_test("Mouseover/out events"); var t = async_test("Mouseover/out events");
var outer = document.getElementById("outer"); var outer = document.getElementById("outer");
var inner = document.getElementById("inner"); var inner = document.getElementById("inner");
var actions_promise;
var inner_over = 0; var inner_over = 0;
var inner_out = 0; var inner_out = 0;
...@@ -62,7 +66,6 @@ var outer_own_out = 0; ...@@ -62,7 +66,6 @@ var outer_own_out = 0;
var outer_over = 0; var outer_over = 0;
var outer_out = 0; var outer_out = 0;
inner.addEventListener("mouseover", t.step_func(function(e) { inner.addEventListener("mouseover", t.step_func(function(e) {
assert_equals(inner_over, inner_out, "mouseover is received before mouseout"); assert_equals(inner_over, inner_out, "mouseover is received before mouseout");
...@@ -112,7 +115,10 @@ outer.addEventListener('mouseout', t.step_func(function(e) { ...@@ -112,7 +115,10 @@ outer.addEventListener('mouseout', t.step_func(function(e) {
assert_equals(outer_own_over, outer_own_out + 1, "outer: mouseout is received after mouseover"); assert_equals(outer_own_over, outer_own_out + 1, "outer: mouseout is received after mouseover");
if (outer_own_out == 1) { if (outer_own_out == 1) {
assert_equals(inner_out, 2, "inner should be done now"); assert_equals(inner_out, 2, "inner should be done now");
t.done(); // Make sure the test finishes after all the input actions are completed.
actions_promise.then( () => {
t.done();
});
} }
outer_own_out++; outer_own_out++;
...@@ -122,4 +128,14 @@ outer.addEventListener('mouseout', t.step_func(function(e) { ...@@ -122,4 +128,14 @@ outer.addEventListener('mouseout', t.step_func(function(e) {
outer_out++; outer_out++;
}), false); }), false);
// Inject mouse inputs.
actions_promise = new test_driver.Actions()
.pointerMove(0, 0, {origin: outer})
.pointerMove(0, 0, {origin: inner})
.pointerMove(0, 0, {origin: released})
.pointerMove(0, 0, {origin: inner})
.pointerMove(0, 0, {origin: outer})
.pointerMove(0, 0)
.send();
</script> </script>
importAutomationScript('/pointerevents/pointerevent_common_input.js');
function inject_input() {
return mouseMoveIntoTarget('#outer').then(function() {
return mouseMoveIntoTarget('#inner');
}).then(function() {
return mouseMoveIntoTarget('#released');
}).then(function() {
return mouseMoveIntoTarget('#inner');
}).then(function() {
return mouseMoveIntoTarget('#outer');
}).then(function() {
return mouseMoveToDocument();
});
}
\ No newline at end of file
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