Chromium Code Reviews| 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..4d8274c642c6f13e9543d2485010858a2682696d 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 |
| @@ -22,10 +22,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 +60,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"); |
| + } |
| + |
| + shouldBeEqualToNumber("lastPointerEvent.pointerId", 0); |
|
Rick Byers
2015/10/20 19:09:50
curious: does Edge still have this behavior of alw
mustaq
2015/10/21 15:17:21
Edge uses id=1 for mouse.
I am tracking this thou
Rick Byers
2015/10/22 21:31:51
Ok, added comments there - but let's not block thi
|
| + shouldBeEqualToString("lastPointerEvent.pointerType", "mouse"); |
| + shouldBeTrue("lastPointerEvent.isPrimary"); |
| + |
| + numericAttributes.forEach(function(attribute) { |
| + shouldBeEqualToNumber("lastPointerEvent." + attribute, eval("event." + attribute)); |
| + }); |
| - 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); |
| + }); |
| - forEachModifier(function(attr, modifierName) { |
| - var getModifierStateStr = ".getModifierState('" + modifierName + "');" |
| - if (eval("event" + getModifierStateStr)) |
| - shouldBeTrue("lastPointerEvent" + getModifierStateStr); |
| - else |
| - shouldBeFalse("lastPointerEvent" + getModifierStateStr); |
| - }); |
| + } |
| lastPointerEvent = null; |
| } |
| @@ -93,10 +101,29 @@ 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); |
| + } |
| + 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(); |