Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <memory> | 5 #include <memory> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "blimp/common/proto/blimp_message.pb.h" | 9 #include "blimp/common/proto/blimp_message.pb.h" |
| 10 #include "blimp/common/proto/input.pb.h" | 10 #include "blimp/common/proto/input.pb.h" |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 27 EXPECT_EQ(BlimpMessage::kInput, proto->feature_case()); | 27 EXPECT_EQ(BlimpMessage::kInput, proto->feature_case()); |
| 28 | 28 |
| 29 std::unique_ptr<blink::WebGestureEvent> new_event = | 29 std::unique_ptr<blink::WebGestureEvent> new_event = |
| 30 processor.ProcessMessage(proto->input()); | 30 processor.ProcessMessage(proto->input()); |
| 31 EXPECT_NE(nullptr, new_event.get()); | 31 EXPECT_NE(nullptr, new_event.get()); |
| 32 | 32 |
| 33 EXPECT_EQ(event.size, new_event->size); | 33 EXPECT_EQ(event.size, new_event->size); |
| 34 EXPECT_EQ(0, memcmp(&event, new_event.get(), event.size)); | 34 EXPECT_EQ(0, memcmp(&event, new_event.get(), event.size)); |
| 35 } | 35 } |
| 36 | 36 |
| 37 blink::WebGestureEvent BuildBaseTestEvent() { | 37 blink::WebGestureEvent BuildBaseTestEvent(blink::WebInputEvent::Type type) { |
| 38 blink::WebGestureEvent event; | 38 blink::WebGestureEvent event(type, blink::WebInputEvent::NoModifiers, 1.23); |
|
majidvp
2016/12/19 20:09:52
nit: s/1.23/TimeStampForTesting/
dtapuska
2016/12/20 19:49:21
done; but I was trying to keep the original code b
| |
| 39 event.timeStampSeconds = 1.23; | |
| 40 event.x = 2; | 39 event.x = 2; |
| 41 event.y = 3; | 40 event.y = 3; |
| 42 event.globalX = 4; | 41 event.globalX = 4; |
| 43 event.globalY = 5; | 42 event.globalY = 5; |
| 44 event.sourceDevice = blink::WebGestureDevice::WebGestureDeviceTouchscreen; | 43 event.sourceDevice = blink::WebGestureDevice::WebGestureDeviceTouchscreen; |
| 45 return event; | 44 return event; |
| 46 } | 45 } |
| 47 | 46 |
| 48 } // namespace | 47 } // namespace |
| 49 | 48 |
| 50 TEST(InputMessageTest, TestGestureScrollBeginRoundTrip) { | 49 TEST(InputMessageTest, TestGestureScrollBeginRoundTrip) { |
| 51 blink::WebGestureEvent event = BuildBaseTestEvent(); | 50 blink::WebGestureEvent event = |
| 52 event.type = blink::WebInputEvent::Type::GestureScrollBegin; | 51 BuildBaseTestEvent(blink::WebInputEvent::Type::GestureScrollBegin); |
| 53 event.data.scrollBegin.deltaXHint = 2.34f; | 52 event.data.scrollBegin.deltaXHint = 2.34f; |
| 54 event.data.scrollBegin.deltaYHint = 3.45f; | 53 event.data.scrollBegin.deltaYHint = 3.45f; |
| 55 event.data.scrollBegin.targetViewport = true; | 54 event.data.scrollBegin.targetViewport = true; |
| 56 ValidateWebGestureEventRoundTripping(event); | 55 ValidateWebGestureEventRoundTripping(event); |
| 57 } | 56 } |
| 58 | 57 |
| 59 TEST(InputMessageTest, TestGestureScrollEndRoundTrip) { | 58 TEST(InputMessageTest, TestGestureScrollEndRoundTrip) { |
| 60 blink::WebGestureEvent event = BuildBaseTestEvent(); | 59 blink::WebGestureEvent event = |
| 61 event.type = blink::WebInputEvent::Type::GestureScrollEnd; | 60 BuildBaseTestEvent(blink::WebInputEvent::Type::GestureScrollEnd); |
| 62 ValidateWebGestureEventRoundTripping(event); | 61 ValidateWebGestureEventRoundTripping(event); |
| 63 } | 62 } |
| 64 | 63 |
| 65 TEST(InputMessageTest, TestGestureScrollUpdateRoundTrip) { | 64 TEST(InputMessageTest, TestGestureScrollUpdateRoundTrip) { |
| 66 blink::WebGestureEvent event = BuildBaseTestEvent(); | 65 blink::WebGestureEvent event = |
| 67 event.type = blink::WebInputEvent::Type::GestureScrollUpdate; | 66 BuildBaseTestEvent(blink::WebInputEvent::Type::GestureScrollUpdate); |
| 68 event.data.scrollUpdate.deltaX = 2.34f; | 67 event.data.scrollUpdate.deltaX = 2.34f; |
| 69 event.data.scrollUpdate.deltaY = 3.45f; | 68 event.data.scrollUpdate.deltaY = 3.45f; |
| 70 event.data.scrollUpdate.velocityX = 4.56f; | 69 event.data.scrollUpdate.velocityX = 4.56f; |
| 71 event.data.scrollUpdate.velocityY = 5.67f; | 70 event.data.scrollUpdate.velocityY = 5.67f; |
| 72 event.data.scrollUpdate.previousUpdateInSequencePrevented = true; | 71 event.data.scrollUpdate.previousUpdateInSequencePrevented = true; |
| 73 event.data.scrollUpdate.preventPropagation = true; | 72 event.data.scrollUpdate.preventPropagation = true; |
| 74 event.data.scrollUpdate.inertialPhase = blink::WebGestureEvent::MomentumPhase; | 73 event.data.scrollUpdate.inertialPhase = blink::WebGestureEvent::MomentumPhase; |
| 75 ValidateWebGestureEventRoundTripping(event); | 74 ValidateWebGestureEventRoundTripping(event); |
| 76 } | 75 } |
| 77 | 76 |
| 78 TEST(InputMessageTest, TestGestureFlingStartRoundTrip) { | 77 TEST(InputMessageTest, TestGestureFlingStartRoundTrip) { |
| 79 blink::WebGestureEvent event = BuildBaseTestEvent(); | 78 blink::WebGestureEvent event = |
| 80 event.type = blink::WebInputEvent::Type::GestureFlingStart; | 79 BuildBaseTestEvent(blink::WebInputEvent::Type::GestureFlingStart); |
| 81 event.data.flingStart.velocityX = 2.34f; | 80 event.data.flingStart.velocityX = 2.34f; |
| 82 event.data.flingStart.velocityY = 3.45f; | 81 event.data.flingStart.velocityY = 3.45f; |
| 83 event.data.flingStart.targetViewport = true; | 82 event.data.flingStart.targetViewport = true; |
| 84 ValidateWebGestureEventRoundTripping(event); | 83 ValidateWebGestureEventRoundTripping(event); |
| 85 } | 84 } |
| 86 | 85 |
| 87 TEST(InputMessageTest, TestGestureFlingCancelRoundTrip) { | 86 TEST(InputMessageTest, TestGestureFlingCancelRoundTrip) { |
| 88 blink::WebGestureEvent event = BuildBaseTestEvent(); | 87 blink::WebGestureEvent event = |
| 89 event.type = blink::WebInputEvent::Type::GestureFlingCancel; | 88 BuildBaseTestEvent(blink::WebInputEvent::Type::GestureFlingCancel); |
| 90 event.data.flingCancel.preventBoosting = true; | 89 event.data.flingCancel.preventBoosting = true; |
| 91 ValidateWebGestureEventRoundTripping(event); | 90 ValidateWebGestureEventRoundTripping(event); |
| 92 } | 91 } |
| 93 | 92 |
| 94 TEST(InputMessageTest, TestGestureTapRoundTrip) { | 93 TEST(InputMessageTest, TestGestureTapRoundTrip) { |
| 95 blink::WebGestureEvent event = BuildBaseTestEvent(); | 94 blink::WebGestureEvent event = |
| 96 event.type = blink::WebGestureEvent::Type::GestureTap; | 95 BuildBaseTestEvent(blink::WebGestureEvent::Type::GestureTap); |
| 97 event.data.tap.tapCount = 3; | 96 event.data.tap.tapCount = 3; |
| 98 event.data.tap.width = 2.34f; | 97 event.data.tap.width = 2.34f; |
| 99 event.data.tap.height = 3.45f; | 98 event.data.tap.height = 3.45f; |
| 100 ValidateWebGestureEventRoundTripping(event); | 99 ValidateWebGestureEventRoundTripping(event); |
| 101 } | 100 } |
| 102 | 101 |
| 103 TEST(InputMessageTest, TestGesturePinchBeginRoundTrip) { | 102 TEST(InputMessageTest, TestGesturePinchBeginRoundTrip) { |
| 104 blink::WebGestureEvent event = BuildBaseTestEvent(); | 103 blink::WebGestureEvent event = |
| 105 event.type = blink::WebInputEvent::Type::GesturePinchBegin; | 104 BuildBaseTestEvent(blink::WebInputEvent::Type::GesturePinchBegin); |
| 106 ValidateWebGestureEventRoundTripping(event); | 105 ValidateWebGestureEventRoundTripping(event); |
| 107 } | 106 } |
| 108 | 107 |
| 109 TEST(InputMessageTest, TestGesturePinchEndRoundTrip) { | 108 TEST(InputMessageTest, TestGesturePinchEndRoundTrip) { |
| 110 blink::WebGestureEvent event = BuildBaseTestEvent(); | 109 blink::WebGestureEvent event = |
| 111 event.type = blink::WebInputEvent::Type::GesturePinchEnd; | 110 BuildBaseTestEvent(blink::WebInputEvent::Type::GesturePinchEnd); |
| 112 ValidateWebGestureEventRoundTripping(event); | 111 ValidateWebGestureEventRoundTripping(event); |
| 113 } | 112 } |
| 114 | 113 |
| 115 TEST(InputMessageTest, TestGesturePinchUpdateRoundTrip) { | 114 TEST(InputMessageTest, TestGesturePinchUpdateRoundTrip) { |
| 116 blink::WebGestureEvent event = BuildBaseTestEvent(); | 115 blink::WebGestureEvent event = |
| 117 event.type = blink::WebInputEvent::Type::GesturePinchUpdate; | 116 BuildBaseTestEvent(blink::WebInputEvent::Type::GesturePinchUpdate); |
| 118 event.data.pinchUpdate.zoomDisabled = true; | 117 event.data.pinchUpdate.zoomDisabled = true; |
| 119 event.data.pinchUpdate.scale = 2.34f; | 118 event.data.pinchUpdate.scale = 2.34f; |
| 120 ValidateWebGestureEventRoundTripping(event); | 119 ValidateWebGestureEventRoundTripping(event); |
| 121 } | 120 } |
| 122 | 121 |
| 123 TEST(InputMessageTest, TestUnsupportedInputEventSerializationFails) { | 122 TEST(InputMessageTest, TestUnsupportedInputEventSerializationFails) { |
| 124 // We currently do not support MouseWheel events. If that changes update | 123 // We currently do not support MouseWheel events. If that changes update |
| 125 // this test. | 124 // this test. |
| 126 blink::WebGestureEvent event; | 125 blink::WebGestureEvent event(blink::WebInputEvent::Type::MouseWheel, |
| 127 event.type = blink::WebInputEvent::Type::MouseWheel; | 126 blink::WebInputEvent::NoModifiers, |
| 127 blink::WebInputEvent::TimeStampForTesting); | |
| 128 InputMessageGenerator generator; | 128 InputMessageGenerator generator; |
| 129 EXPECT_EQ(nullptr, generator.GenerateMessage(event).get()); | 129 EXPECT_EQ(nullptr, generator.GenerateMessage(event).get()); |
| 130 } | 130 } |
| 131 | 131 |
| 132 TEST(InputMessageConverterTest, TestTextInputTypeToProtoConversion) { | 132 TEST(InputMessageConverterTest, TestTextInputTypeToProtoConversion) { |
| 133 for (size_t i = ui::TextInputType::TEXT_INPUT_TYPE_TEXT; | 133 for (size_t i = ui::TextInputType::TEXT_INPUT_TYPE_TEXT; |
| 134 i < ui::TextInputType::TEXT_INPUT_TYPE_MAX; i++) { | 134 i < ui::TextInputType::TEXT_INPUT_TYPE_MAX; i++) { |
| 135 ui::TextInputType type = static_cast<ui::TextInputType>(i); | 135 ui::TextInputType type = static_cast<ui::TextInputType>(i); |
| 136 EXPECT_EQ(type, InputMessageConverter::TextInputTypeFromProto( | 136 EXPECT_EQ(type, InputMessageConverter::TextInputTypeFromProto( |
| 137 InputMessageConverter::TextInputTypeToProto(type))); | 137 InputMessageConverter::TextInputTypeToProto(type))); |
| 138 } | 138 } |
| 139 } | 139 } |
| 140 | 140 |
| 141 TEST(InputMessageTest, TestGestureTapDownRoundTrip) { | 141 TEST(InputMessageTest, TestGestureTapDownRoundTrip) { |
| 142 blink::WebGestureEvent event = BuildBaseTestEvent(); | 142 blink::WebGestureEvent event = |
| 143 event.type = blink::WebGestureEvent::Type::GestureTapDown; | 143 BuildBaseTestEvent(blink::WebGestureEvent::Type::GestureTapDown); |
| 144 event.data.tapDown.width = 2.3f; | 144 event.data.tapDown.width = 2.3f; |
| 145 event.data.tapDown.height = 3.4f; | 145 event.data.tapDown.height = 3.4f; |
| 146 ValidateWebGestureEventRoundTripping(event); | 146 ValidateWebGestureEventRoundTripping(event); |
| 147 } | 147 } |
| 148 | 148 |
| 149 TEST(InputMessageTest, TestGestureTapCancelRoundTrip) { | 149 TEST(InputMessageTest, TestGestureTapCancelRoundTrip) { |
| 150 blink::WebGestureEvent event = BuildBaseTestEvent(); | 150 blink::WebGestureEvent event = |
| 151 event.type = blink::WebGestureEvent::Type::GestureTapCancel; | 151 BuildBaseTestEvent(blink::WebGestureEvent::Type::GestureTapCancel); |
| 152 ValidateWebGestureEventRoundTripping(event); | 152 ValidateWebGestureEventRoundTripping(event); |
| 153 } | 153 } |
| 154 | 154 |
| 155 TEST(InputMessageTest, TestGestureTapUnconfirmedRoundTrip) { | 155 TEST(InputMessageTest, TestGestureTapUnconfirmedRoundTrip) { |
| 156 blink::WebGestureEvent event = BuildBaseTestEvent(); | 156 blink::WebGestureEvent event = |
| 157 event.type = blink::WebGestureEvent::Type::GestureTapUnconfirmed; | 157 BuildBaseTestEvent(blink::WebGestureEvent::Type::GestureTapUnconfirmed); |
| 158 event.data.tap.tapCount = 2; | 158 event.data.tap.tapCount = 2; |
| 159 event.data.tap.width = 2.3f; | 159 event.data.tap.width = 2.3f; |
| 160 event.data.tap.height = 3.4f; | 160 event.data.tap.height = 3.4f; |
| 161 ValidateWebGestureEventRoundTripping(event); | 161 ValidateWebGestureEventRoundTripping(event); |
| 162 } | 162 } |
| 163 | 163 |
| 164 TEST(InputMessageTest, TestGestureShowPressRoundTrip) { | 164 TEST(InputMessageTest, TestGestureShowPressRoundTrip) { |
| 165 blink::WebGestureEvent event = BuildBaseTestEvent(); | 165 blink::WebGestureEvent event = |
| 166 event.type = blink::WebGestureEvent::Type::GestureShowPress; | 166 BuildBaseTestEvent(blink::WebGestureEvent::Type::GestureShowPress); |
| 167 event.data.showPress.width = 2.3f; | 167 event.data.showPress.width = 2.3f; |
| 168 event.data.showPress.height = 3.4f; | 168 event.data.showPress.height = 3.4f; |
| 169 ValidateWebGestureEventRoundTripping(event); | 169 ValidateWebGestureEventRoundTripping(event); |
| 170 } | 170 } |
| 171 | 171 |
| 172 } // namespace blimp | 172 } // namespace blimp |
| OLD | NEW |