Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(744)

Side by Side Diff: content/renderer/pepper/event_conversion_unittest.cc

Issue 2573073003: Collapse the API surface on WebInputEvent via accessor functions. (Closed)
Patch Set: Fix nits Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/renderer/pepper/event_conversion.h" 5 #include "content/renderer/pepper/event_conversion.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory> 9 #include <memory>
10 10
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "content/common/input/synthetic_web_input_event_builders.h" 12 #include "content/common/input/synthetic_web_input_event_builders.h"
13 #include "ppapi/shared_impl/ppb_input_event_shared.h" 13 #include "ppapi/shared_impl/ppb_input_event_shared.h"
14 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
15 15
16 namespace content { 16 namespace content {
17 17
18 class EventConversionTest : public ::testing::Test { 18 class EventConversionTest : public ::testing::Test {
19 protected: 19 protected:
20 void CompareWebTouchEvents(const blink::WebTouchEvent& expected, 20 void CompareWebTouchEvents(const blink::WebTouchEvent& expected,
21 const blink::WebTouchEvent& actual) { 21 const blink::WebTouchEvent& actual) {
22 EXPECT_EQ(expected.type, actual.type); 22 EXPECT_EQ(expected.type(), actual.type());
23 ASSERT_EQ(expected.touchesLength, actual.touchesLength); 23 ASSERT_EQ(expected.touchesLength, actual.touchesLength);
24 for (size_t i = 0; i < expected.touchesLength; ++i) { 24 for (size_t i = 0; i < expected.touchesLength; ++i) {
25 size_t j = 0; 25 size_t j = 0;
26 for (; j < actual.touchesLength; ++j) { 26 for (; j < actual.touchesLength; ++j) {
27 if (actual.touches[j].id == expected.touches[i].id) 27 if (actual.touches[j].id == expected.touches[i].id)
28 break; 28 break;
29 } 29 }
30 ASSERT_NE(j, actual.touchesLength); 30 ASSERT_NE(j, actual.touchesLength);
31 EXPECT_EQ(expected.touches[i].id, actual.touches[j].id); 31 EXPECT_EQ(expected.touches[i].id, actual.touches[j].id);
32 EXPECT_EQ(expected.touches[i].state, actual.touches[j].state); 32 EXPECT_EQ(expected.touches[i].state, actual.touches[j].state);
(...skipping 20 matching lines...) Expand all
53 ASSERT_EQ(PP_INPUTEVENT_TYPE_TOUCHSTART, pp_event.event_type); 53 ASSERT_EQ(PP_INPUTEVENT_TYPE_TOUCHSTART, pp_event.event_type);
54 ASSERT_EQ(1U, pp_event.touches.size()); 54 ASSERT_EQ(1U, pp_event.touches.size());
55 ASSERT_EQ(1U, pp_event.changed_touches.size()); 55 ASSERT_EQ(1U, pp_event.changed_touches.size());
56 ASSERT_EQ(1U, pp_event.target_touches.size()); 56 ASSERT_EQ(1U, pp_event.target_touches.size());
57 57
58 std::unique_ptr<blink::WebInputEvent> event_out( 58 std::unique_ptr<blink::WebInputEvent> event_out(
59 CreateWebInputEvent(pp_event)); 59 CreateWebInputEvent(pp_event));
60 const blink::WebTouchEvent* touch_out = 60 const blink::WebTouchEvent* touch_out =
61 static_cast<const blink::WebTouchEvent*>(event_out.get()); 61 static_cast<const blink::WebTouchEvent*>(event_out.get());
62 ASSERT_TRUE(touch_out); 62 ASSERT_TRUE(touch_out);
63 EXPECT_EQ(touch.type, touch_out->type); 63 EXPECT_EQ(touch.type(), touch_out->type());
64 EXPECT_EQ(touch.touchesLength, touch_out->touchesLength); 64 EXPECT_EQ(touch.touchesLength, touch_out->touchesLength);
65 CompareWebTouchEvents(touch, *touch_out); 65 CompareWebTouchEvents(touch, *touch_out);
66 } 66 }
67 67
68 TEST_F(EventConversionTest, TouchMove) { 68 TEST_F(EventConversionTest, TouchMove) {
69 SyntheticWebTouchEvent touch; 69 SyntheticWebTouchEvent touch;
70 touch.PressPoint(1.f, 2.f); 70 touch.PressPoint(1.f, 2.f);
71 touch.ResetPoints(); 71 touch.ResetPoints();
72 touch.PressPoint(3.f, 4.f); 72 touch.PressPoint(3.f, 4.f);
73 touch.ResetPoints(); 73 touch.ResetPoints();
74 touch.MovePoint(1, 5.f, 6.f); 74 touch.MovePoint(1, 5.f, 6.f);
75 75
76 std::vector<ppapi::InputEventData> pp_events; 76 std::vector<ppapi::InputEventData> pp_events;
77 CreateInputEventData(touch, &pp_events); 77 CreateInputEventData(touch, &pp_events);
78 ASSERT_EQ(1U, pp_events.size()); 78 ASSERT_EQ(1U, pp_events.size());
79 79
80 const ppapi::InputEventData& pp_event = pp_events[0]; 80 const ppapi::InputEventData& pp_event = pp_events[0];
81 ASSERT_EQ(PP_INPUTEVENT_TYPE_TOUCHMOVE, pp_event.event_type); 81 ASSERT_EQ(PP_INPUTEVENT_TYPE_TOUCHMOVE, pp_event.event_type);
82 ASSERT_EQ(2U, pp_event.touches.size()); 82 ASSERT_EQ(2U, pp_event.touches.size());
83 ASSERT_EQ(1U, pp_event.changed_touches.size()); 83 ASSERT_EQ(1U, pp_event.changed_touches.size());
84 ASSERT_EQ(2U, pp_event.target_touches.size()); 84 ASSERT_EQ(2U, pp_event.target_touches.size());
85 85
86 std::unique_ptr<blink::WebInputEvent> event_out( 86 std::unique_ptr<blink::WebInputEvent> event_out(
87 CreateWebInputEvent(pp_event)); 87 CreateWebInputEvent(pp_event));
88 const blink::WebTouchEvent* touch_out = 88 const blink::WebTouchEvent* touch_out =
89 static_cast<const blink::WebTouchEvent*>(event_out.get()); 89 static_cast<const blink::WebTouchEvent*>(event_out.get());
90 ASSERT_TRUE(touch_out); 90 ASSERT_TRUE(touch_out);
91 EXPECT_EQ(touch.type, touch_out->type); 91 EXPECT_EQ(touch.type(), touch_out->type());
92 EXPECT_EQ(touch.touchesLength, touch_out->touchesLength); 92 EXPECT_EQ(touch.touchesLength, touch_out->touchesLength);
93 CompareWebTouchEvents(touch, *touch_out); 93 CompareWebTouchEvents(touch, *touch_out);
94 } 94 }
95 95
96 TEST_F(EventConversionTest, TouchEnd) { 96 TEST_F(EventConversionTest, TouchEnd) {
97 SyntheticWebTouchEvent touch; 97 SyntheticWebTouchEvent touch;
98 touch.PressPoint(1.f, 2.f); 98 touch.PressPoint(1.f, 2.f);
99 touch.ResetPoints(); 99 touch.ResetPoints();
100 touch.PressPoint(3.f, 4.f); 100 touch.PressPoint(3.f, 4.f);
101 touch.ResetPoints(); 101 touch.ResetPoints();
102 touch.ReleasePoint(0); 102 touch.ReleasePoint(0);
103 103
104 std::vector<ppapi::InputEventData> pp_events; 104 std::vector<ppapi::InputEventData> pp_events;
105 CreateInputEventData(touch, &pp_events); 105 CreateInputEventData(touch, &pp_events);
106 ASSERT_EQ(1U, pp_events.size()); 106 ASSERT_EQ(1U, pp_events.size());
107 107
108 const ppapi::InputEventData& pp_event = pp_events[0]; 108 const ppapi::InputEventData& pp_event = pp_events[0];
109 ASSERT_EQ(PP_INPUTEVENT_TYPE_TOUCHEND, pp_event.event_type); 109 ASSERT_EQ(PP_INPUTEVENT_TYPE_TOUCHEND, pp_event.event_type);
110 ASSERT_EQ(1U, pp_event.touches.size()); 110 ASSERT_EQ(1U, pp_event.touches.size());
111 ASSERT_EQ(1U, pp_event.changed_touches.size()); 111 ASSERT_EQ(1U, pp_event.changed_touches.size());
112 ASSERT_EQ(2U, pp_event.target_touches.size()); 112 ASSERT_EQ(2U, pp_event.target_touches.size());
113 113
114 std::unique_ptr<blink::WebInputEvent> event_out( 114 std::unique_ptr<blink::WebInputEvent> event_out(
115 CreateWebInputEvent(pp_event)); 115 CreateWebInputEvent(pp_event));
116 const blink::WebTouchEvent* touch_out = 116 const blink::WebTouchEvent* touch_out =
117 static_cast<const blink::WebTouchEvent*>(event_out.get()); 117 static_cast<const blink::WebTouchEvent*>(event_out.get());
118 ASSERT_TRUE(touch_out); 118 ASSERT_TRUE(touch_out);
119 EXPECT_EQ(touch.type, touch_out->type); 119 EXPECT_EQ(touch.type(), touch_out->type());
120 ASSERT_EQ(touch.touchesLength, touch_out->touchesLength); 120 ASSERT_EQ(touch.touchesLength, touch_out->touchesLength);
121 CompareWebTouchEvents(touch, *touch_out); 121 CompareWebTouchEvents(touch, *touch_out);
122 } 122 }
123 123
124 TEST_F(EventConversionTest, TouchCancel) { 124 TEST_F(EventConversionTest, TouchCancel) {
125 SyntheticWebTouchEvent touch; 125 SyntheticWebTouchEvent touch;
126 touch.PressPoint(1.f, 2.f); 126 touch.PressPoint(1.f, 2.f);
127 touch.ResetPoints(); 127 touch.ResetPoints();
128 touch.PressPoint(3.f, 4.f); 128 touch.PressPoint(3.f, 4.f);
129 touch.ResetPoints(); 129 touch.ResetPoints();
130 touch.CancelPoint(1); 130 touch.CancelPoint(1);
131 touch.CancelPoint(0); 131 touch.CancelPoint(0);
132 132
133 std::vector<ppapi::InputEventData> pp_events; 133 std::vector<ppapi::InputEventData> pp_events;
134 CreateInputEventData(touch, &pp_events); 134 CreateInputEventData(touch, &pp_events);
135 ASSERT_EQ(1U, pp_events.size()); 135 ASSERT_EQ(1U, pp_events.size());
136 136
137 const ppapi::InputEventData& pp_event = pp_events[0]; 137 const ppapi::InputEventData& pp_event = pp_events[0];
138 ASSERT_EQ(PP_INPUTEVENT_TYPE_TOUCHCANCEL, pp_event.event_type); 138 ASSERT_EQ(PP_INPUTEVENT_TYPE_TOUCHCANCEL, pp_event.event_type);
139 ASSERT_EQ(0U, pp_event.touches.size()); 139 ASSERT_EQ(0U, pp_event.touches.size());
140 ASSERT_EQ(2U, pp_event.changed_touches.size()); 140 ASSERT_EQ(2U, pp_event.changed_touches.size());
141 ASSERT_EQ(2U, pp_event.target_touches.size()); 141 ASSERT_EQ(2U, pp_event.target_touches.size());
142 142
143 std::unique_ptr<blink::WebInputEvent> event_out( 143 std::unique_ptr<blink::WebInputEvent> event_out(
144 CreateWebInputEvent(pp_event)); 144 CreateWebInputEvent(pp_event));
145 const blink::WebTouchEvent* touch_out = 145 const blink::WebTouchEvent* touch_out =
146 static_cast<const blink::WebTouchEvent*>(event_out.get()); 146 static_cast<const blink::WebTouchEvent*>(event_out.get());
147 ASSERT_TRUE(touch_out); 147 ASSERT_TRUE(touch_out);
148 EXPECT_EQ(touch.type, touch_out->type); 148 EXPECT_EQ(touch.type(), touch_out->type());
149 EXPECT_EQ(touch.touchesLength, touch_out->touchesLength); 149 EXPECT_EQ(touch.touchesLength, touch_out->touchesLength);
150 CompareWebTouchEvents(touch, *touch_out); 150 CompareWebTouchEvents(touch, *touch_out);
151 } 151 }
152 152
153 } // namespace content 153 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/pepper/event_conversion.cc ('k') | content/renderer/pepper/pepper_plugin_instance_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698