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 |