OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "content/common/input/input_param_traits.h" | 5 #include "content/common/input/input_param_traits.h" |
6 | 6 |
7 #include "content/common/input/input_event.h" | 7 #include "content/common/input/input_event.h" |
8 #include "content/common/input/synthetic_gesture_params.h" | 8 #include "content/common/input/synthetic_gesture_params.h" |
9 #include "content/common/input/synthetic_pinch_gesture_params.h" | 9 #include "content/common/input/synthetic_pinch_gesture_params.h" |
10 #include "content/common/input/synthetic_smooth_drag_gesture_params.h" | 10 #include "content/common/input/synthetic_smooth_drag_gesture_params.h" |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 SyntheticTapGestureParams::Cast(b->gesture_params())); | 101 SyntheticTapGestureParams::Cast(b->gesture_params())); |
102 break; | 102 break; |
103 } | 103 } |
104 } | 104 } |
105 | 105 |
106 static void Verify(const InputEvents& events_in) { | 106 static void Verify(const InputEvents& events_in) { |
107 IPC::Message msg; | 107 IPC::Message msg; |
108 IPC::ParamTraits<InputEvents>::Write(&msg, events_in); | 108 IPC::ParamTraits<InputEvents>::Write(&msg, events_in); |
109 | 109 |
110 InputEvents events_out; | 110 InputEvents events_out; |
111 PickleIterator iter(msg); | 111 base::PickleIterator iter(msg); |
112 EXPECT_TRUE(IPC::ParamTraits<InputEvents>::Read(&msg, &iter, &events_out)); | 112 EXPECT_TRUE(IPC::ParamTraits<InputEvents>::Read(&msg, &iter, &events_out)); |
113 | 113 |
114 Compare(&events_in, &events_out); | 114 Compare(&events_in, &events_out); |
115 | 115 |
116 // Perform a sanity check that logging doesn't explode. | 116 // Perform a sanity check that logging doesn't explode. |
117 std::string events_in_string; | 117 std::string events_in_string; |
118 IPC::ParamTraits<InputEvents>::Log(events_in, &events_in_string); | 118 IPC::ParamTraits<InputEvents>::Log(events_in, &events_in_string); |
119 std::string events_out_string; | 119 std::string events_out_string; |
120 IPC::ParamTraits<InputEvents>::Log(events_out, &events_out_string); | 120 IPC::ParamTraits<InputEvents>::Log(events_out, &events_out_string); |
121 ASSERT_FALSE(events_in_string.empty()); | 121 ASSERT_FALSE(events_in_string.empty()); |
122 EXPECT_EQ(events_in_string, events_out_string); | 122 EXPECT_EQ(events_in_string, events_out_string); |
123 } | 123 } |
124 | 124 |
125 static void Verify(const SyntheticGesturePacket& packet_in) { | 125 static void Verify(const SyntheticGesturePacket& packet_in) { |
126 IPC::Message msg; | 126 IPC::Message msg; |
127 IPC::ParamTraits<SyntheticGesturePacket>::Write(&msg, packet_in); | 127 IPC::ParamTraits<SyntheticGesturePacket>::Write(&msg, packet_in); |
128 | 128 |
129 SyntheticGesturePacket packet_out; | 129 SyntheticGesturePacket packet_out; |
130 PickleIterator iter(msg); | 130 base::PickleIterator iter(msg); |
131 EXPECT_TRUE(IPC::ParamTraits<SyntheticGesturePacket>::Read(&msg, &iter, | 131 EXPECT_TRUE(IPC::ParamTraits<SyntheticGesturePacket>::Read(&msg, &iter, |
132 &packet_out)); | 132 &packet_out)); |
133 | 133 |
134 Compare(&packet_in, &packet_out); | 134 Compare(&packet_in, &packet_out); |
135 | 135 |
136 // Perform a sanity check that logging doesn't explode. | 136 // Perform a sanity check that logging doesn't explode. |
137 std::string packet_in_string; | 137 std::string packet_in_string; |
138 IPC::ParamTraits<SyntheticGesturePacket>::Log(packet_in, &packet_in_string); | 138 IPC::ParamTraits<SyntheticGesturePacket>::Log(packet_in, &packet_in_string); |
139 std::string packet_out_string; | 139 std::string packet_out_string; |
140 IPC::ParamTraits<SyntheticGesturePacket>::Log(packet_out, | 140 IPC::ParamTraits<SyntheticGesturePacket>::Log(packet_out, |
141 &packet_out_string); | 141 &packet_out_string); |
142 ASSERT_FALSE(packet_in_string.empty()); | 142 ASSERT_FALSE(packet_in_string.empty()); |
143 EXPECT_EQ(packet_in_string, packet_out_string); | 143 EXPECT_EQ(packet_in_string, packet_out_string); |
144 } | 144 } |
145 }; | 145 }; |
146 | 146 |
147 TEST_F(InputParamTraitsTest, UninitializedEvents) { | 147 TEST_F(InputParamTraitsTest, UninitializedEvents) { |
148 InputEvent event; | 148 InputEvent event; |
149 | 149 |
150 IPC::Message msg; | 150 IPC::Message msg; |
151 IPC::WriteParam(&msg, event); | 151 IPC::WriteParam(&msg, event); |
152 | 152 |
153 InputEvent event_out; | 153 InputEvent event_out; |
154 PickleIterator iter(msg); | 154 base::PickleIterator iter(msg); |
155 EXPECT_FALSE(IPC::ReadParam(&msg, &iter, &event_out)); | 155 EXPECT_FALSE(IPC::ReadParam(&msg, &iter, &event_out)); |
156 } | 156 } |
157 | 157 |
158 TEST_F(InputParamTraitsTest, InitializedEvents) { | 158 TEST_F(InputParamTraitsTest, InitializedEvents) { |
159 InputEvents events; | 159 InputEvents events; |
160 | 160 |
161 ui::LatencyInfo latency; | 161 ui::LatencyInfo latency; |
162 | 162 |
163 blink::WebKeyboardEvent key_event; | 163 blink::WebKeyboardEvent key_event; |
164 key_event.type = blink::WebInputEvent::RawKeyDown; | 164 key_event.type = blink::WebInputEvent::RawKeyDown; |
(...skipping 25 matching lines...) Expand all Loading... |
190 | 190 |
191 Verify(events); | 191 Verify(events); |
192 } | 192 } |
193 | 193 |
194 TEST_F(InputParamTraitsTest, InvalidSyntheticGestureParams) { | 194 TEST_F(InputParamTraitsTest, InvalidSyntheticGestureParams) { |
195 IPC::Message msg; | 195 IPC::Message msg; |
196 // Write invalid value for SyntheticGestureParams::GestureType. | 196 // Write invalid value for SyntheticGestureParams::GestureType. |
197 WriteParam(&msg, -3); | 197 WriteParam(&msg, -3); |
198 | 198 |
199 SyntheticGesturePacket packet_out; | 199 SyntheticGesturePacket packet_out; |
200 PickleIterator iter(msg); | 200 base::PickleIterator iter(msg); |
201 ASSERT_FALSE( | 201 ASSERT_FALSE( |
202 IPC::ParamTraits<SyntheticGesturePacket>::Read(&msg, &iter, &packet_out)); | 202 IPC::ParamTraits<SyntheticGesturePacket>::Read(&msg, &iter, &packet_out)); |
203 } | 203 } |
204 | 204 |
205 TEST_F(InputParamTraitsTest, SyntheticSmoothScrollGestureParams) { | 205 TEST_F(InputParamTraitsTest, SyntheticSmoothScrollGestureParams) { |
206 scoped_ptr<SyntheticSmoothScrollGestureParams> gesture_params( | 206 scoped_ptr<SyntheticSmoothScrollGestureParams> gesture_params( |
207 new SyntheticSmoothScrollGestureParams); | 207 new SyntheticSmoothScrollGestureParams); |
208 gesture_params->gesture_source_type = SyntheticGestureParams::TOUCH_INPUT; | 208 gesture_params->gesture_source_type = SyntheticGestureParams::TOUCH_INPUT; |
209 gesture_params->anchor.SetPoint(234, 345); | 209 gesture_params->anchor.SetPoint(234, 345); |
210 gesture_params->distances.push_back(gfx::Vector2d(123, -789)); | 210 gesture_params->distances.push_back(gfx::Vector2d(123, -789)); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 ASSERT_EQ(SyntheticGestureParams::TAP_GESTURE, | 243 ASSERT_EQ(SyntheticGestureParams::TAP_GESTURE, |
244 gesture_params->GetGestureType()); | 244 gesture_params->GetGestureType()); |
245 SyntheticGesturePacket packet_in; | 245 SyntheticGesturePacket packet_in; |
246 packet_in.set_gesture_params(gesture_params.Pass()); | 246 packet_in.set_gesture_params(gesture_params.Pass()); |
247 | 247 |
248 Verify(packet_in); | 248 Verify(packet_in); |
249 } | 249 } |
250 | 250 |
251 } // namespace | 251 } // namespace |
252 } // namespace content | 252 } // namespace content |
OLD | NEW |