Index: third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-event-properties.html |
diff --git a/third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-event-properties.html b/third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-event-properties.html |
index 3a27e0030451b115db3be0ce100a910e8822adf3..636837d87b8345c7394713bcfce081db8febce27 100644 |
--- a/third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-event-properties.html |
+++ b/third_party/WebKit/LayoutTests/fast/events/pointerevents/mouse-pointer-event-properties.html |
@@ -2,18 +2,14 @@ |
<script src="../../../resources/js-test.js"></script> |
<script src="../resources/input-modifiers.js"></script> |
<style> |
-div { |
+div.box { |
margin: 10px; |
padding: 50px; |
float: left; |
} |
-#console { |
- padding: 0px; |
- float: none; |
-} |
</style> |
-<div id="target" style="background-color:red"> |
+<div id="target" class="box" style="background-color:red"> |
</div> |
<div id="console"></div> |
@@ -22,10 +18,12 @@ div { |
description("Verifies that pointer event parameters are correct when fired for mouse events."); |
// TODO(mustaq): Grow the list as we add support for more PEs |
-var testEventList = ["mouseenter", "mouseleave", "mouseover", "mouseout", |
- "pointerenter", "pointerleave", "pointerover", "pointerout"]; |
+var testEventList = ["mouseenter", "mouseleave", "mouseover", "mouseout", "mouseup", "mousedown", |
+ "pointerenter", "pointerleave", "pointerover", "pointerout", "pointerup", "pointerdown"]; |
var lastPointerEvent = null; |
+var checkKeyModifiers = false; |
+ |
var numericAttributes = [ |
"clientX", |
"clientY", |
@@ -58,31 +56,37 @@ function init() { |
lastPointerEvent = event; |
else { |
shouldBeNonNull("lastPointerEvent"); |
- |
shouldBeEqualToString("lastPointerEvent.type", event.type.replace("mouse", "pointer")); |
- if (lastPointerEvent.type=="pointerenter" || lastPointerEvent.type=="pointerleave") { |
- shouldBeFalse("lastPointerEvent.bubbles"); |
- shouldBeFalse("lastPointerEvent.cancelable"); |
- } else { |
- shouldBeTrue("lastPointerEvent.bubbles"); |
- shouldBeTrue("lastPointerEvent.cancelable"); |
- } |
- shouldBeEqualToNumber("lastPointerEvent.pointerId", 0); |
- shouldBeEqualToString("lastPointerEvent.pointerType", "mouse"); |
- shouldBeTrue("lastPointerEvent.isPrimary"); |
+ if (!checkKeyModifiers) { |
+ |
+ if (lastPointerEvent.type=="pointerenter" || lastPointerEvent.type=="pointerleave") { |
+ shouldBeFalse("lastPointerEvent.bubbles"); |
+ shouldBeFalse("lastPointerEvent.cancelable"); |
+ } else { |
+ shouldBeTrue("lastPointerEvent.bubbles"); |
+ shouldBeTrue("lastPointerEvent.cancelable"); |
+ } |
- numericAttributes.forEach(function(attribute) { |
- shouldBeEqualToNumber("lastPointerEvent." + attribute, eval("event." + attribute)); |
- }); |
+ shouldBeEqualToNumber("lastPointerEvent.pointerId", 0); |
+ shouldBeEqualToString("lastPointerEvent.pointerType", "mouse"); |
+ shouldBeTrue("lastPointerEvent.isPrimary"); |
- forEachModifier(function(attr, modifierName) { |
- var getModifierStateStr = ".getModifierState('" + modifierName + "');" |
- if (eval("event" + getModifierStateStr)) |
- shouldBeTrue("lastPointerEvent" + getModifierStateStr); |
- else |
- shouldBeFalse("lastPointerEvent" + getModifierStateStr); |
- }); |
+ numericAttributes.forEach(function(attribute) { |
+ shouldBeEqualToNumber("lastPointerEvent." + attribute, eval("event." + attribute)); |
+ }); |
+ |
+ } else { |
+ |
+ forEachModifier(function(attr, modifierName) { |
+ var getModifierStateStr = ".getModifierState('" + modifierName + "');" |
+ if (eval("event" + getModifierStateStr)) |
+ shouldBeTrue("lastPointerEvent" + getModifierStateStr); |
+ else |
+ shouldBeFalse("lastPointerEvent" + getModifierStateStr); |
+ }); |
+ |
+ } |
lastPointerEvent = null; |
} |
@@ -93,10 +97,30 @@ function init() { |
function runTests() { |
var rect = document.getElementById("target").getBoundingClientRect(); |
+ |
+ debug("--- move mouse into target ---"); |
eventSender.mouseMoveTo(rect.left + 5, rect.top + 5); |
- eventSender.mouseMoveTo(rect.left - 5, rect.top - 5); |
+ debug(""); |
+ |
+ debug("--- click each button ---"); |
+ for (var button = 0; button <=2; button++) { |
+ eventSender.mouseDown(button); |
+ eventSender.mouseUp(button); |
+ // TODO(crbug.com/548226): Investigate missing events in win_chromium_rel_ng on 3rd down/up. |
+ } |
+ debug(""); |
+ |
+ debug("--- click with each modifier ---"); |
+ checkKeyModifiers = true; |
+ forEachModifier(function(attr, modifierName, eventSenderName) { |
+ eventSender.mouseDown(0, [eventSenderName]); |
+ eventSender.mouseUp(0, [eventSenderName]); |
+ }); |
+ checkKeyModifiers = false; |
+ debug(""); |
- //TODO(mustaq): add tests for buttons & modifierStates when doing pointerdown/up. |
+ debug("--- move mouse out of target ---"); |
+ eventSender.mouseMoveTo(rect.left - 5, rect.top - 5); |
} |
init(); |