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

Side by Side Diff: content/renderer/device_sensors/device_orientation_event_pump_unittest.cc

Issue 2415083002: Move Device Sensors client files from Blink to //device/sensors client lib (Closed)
Patch Set: Rebase Created 3 years, 9 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 "device_orientation_event_pump.h" 5 #include "device_orientation_event_pump.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 8
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 10 matching lines...) Expand all
21 21
22 class MockDeviceOrientationListener 22 class MockDeviceOrientationListener
23 : public blink::WebDeviceOrientationListener { 23 : public blink::WebDeviceOrientationListener {
24 public: 24 public:
25 MockDeviceOrientationListener() : did_change_device_orientation_(false) { 25 MockDeviceOrientationListener() : did_change_device_orientation_(false) {
26 memset(&data_, 0, sizeof(data_)); 26 memset(&data_, 0, sizeof(data_));
27 } 27 }
28 ~MockDeviceOrientationListener() override {} 28 ~MockDeviceOrientationListener() override {}
29 29
30 void didChangeDeviceOrientation( 30 void didChangeDeviceOrientation(
31 const blink::WebDeviceOrientationData& data) override { 31 const device::OrientationData& data) override {
32 memcpy(&data_, &data, sizeof(data)); 32 memcpy(&data_, &data, sizeof(data));
33 did_change_device_orientation_ = true; 33 did_change_device_orientation_ = true;
34 } 34 }
35 35
36 bool did_change_device_orientation() const { 36 bool did_change_device_orientation() const {
37 return did_change_device_orientation_; 37 return did_change_device_orientation_;
38 } 38 }
39 void set_did_change_device_orientation(bool value) { 39 void set_did_change_device_orientation(bool value) {
40 did_change_device_orientation_ = value; 40 did_change_device_orientation_ = value;
41 } 41 }
42 const blink::WebDeviceOrientationData& data() const { 42 const device::OrientationData& data() const { return data_; }
43 return data_;
44 }
45 43
46 private: 44 private:
47 bool did_change_device_orientation_; 45 bool did_change_device_orientation_;
48 blink::WebDeviceOrientationData data_; 46 device::OrientationData data_;
49 47
50 DISALLOW_COPY_AND_ASSIGN(MockDeviceOrientationListener); 48 DISALLOW_COPY_AND_ASSIGN(MockDeviceOrientationListener);
51 }; 49 };
52 50
53 class DeviceOrientationEventPumpForTesting : public DeviceOrientationEventPump { 51 class DeviceOrientationEventPumpForTesting : public DeviceOrientationEventPump {
54 public: 52 public:
55 DeviceOrientationEventPumpForTesting() 53 DeviceOrientationEventPumpForTesting()
56 : DeviceOrientationEventPump(nullptr) {} 54 : DeviceOrientationEventPump(nullptr) {}
57 ~DeviceOrientationEventPumpForTesting() override {} 55 ~DeviceOrientationEventPumpForTesting() override {}
58 56
(...skipping 22 matching lines...) Expand all
81 orientation_pump_.reset(new DeviceOrientationEventPumpForTesting); 79 orientation_pump_.reset(new DeviceOrientationEventPumpForTesting);
82 shared_memory_ = mojo::SharedBufferHandle::Create( 80 shared_memory_ = mojo::SharedBufferHandle::Create(
83 sizeof(device::DeviceOrientationHardwareBuffer)); 81 sizeof(device::DeviceOrientationHardwareBuffer));
84 mapping_ = 82 mapping_ =
85 shared_memory_->Map(sizeof(device::DeviceOrientationHardwareBuffer)); 83 shared_memory_->Map(sizeof(device::DeviceOrientationHardwareBuffer));
86 ASSERT_TRUE(mapping_); 84 ASSERT_TRUE(mapping_);
87 memset(buffer(), 0, sizeof(device::DeviceOrientationHardwareBuffer)); 85 memset(buffer(), 0, sizeof(device::DeviceOrientationHardwareBuffer));
88 } 86 }
89 87
90 void InitBuffer() { 88 void InitBuffer() {
91 blink::WebDeviceOrientationData& data = buffer()->data; 89 device::OrientationData& data = buffer()->data;
92 data.alpha = 1; 90 data.alpha = 1;
93 data.hasAlpha = true; 91 data.hasAlpha = true;
94 data.beta = 2; 92 data.beta = 2;
95 data.hasBeta = true; 93 data.hasBeta = true;
96 data.gamma = 3; 94 data.gamma = 3;
97 data.hasGamma = true; 95 data.hasGamma = true;
98 data.allAvailableSensorsAreActive = true; 96 data.allAvailableSensorsAreActive = true;
99 } 97 }
100 98
101 void InitBufferNoData() { 99 void InitBufferNoData() {
102 blink::WebDeviceOrientationData& data = buffer()->data; 100 device::OrientationData& data = buffer()->data;
103 data.allAvailableSensorsAreActive = true; 101 data.allAvailableSensorsAreActive = true;
104 } 102 }
105 103
106 MockDeviceOrientationListener* listener() { return listener_.get(); } 104 MockDeviceOrientationListener* listener() { return listener_.get(); }
107 DeviceOrientationEventPumpForTesting* orientation_pump() { 105 DeviceOrientationEventPumpForTesting* orientation_pump() {
108 return orientation_pump_.get(); 106 return orientation_pump_.get();
109 } 107 }
110 mojo::ScopedSharedBufferHandle handle() { 108 mojo::ScopedSharedBufferHandle handle() {
111 return shared_memory_->Clone( 109 return shared_memory_->Clone(
112 mojo::SharedBufferHandle::AccessMode::READ_ONLY); 110 mojo::SharedBufferHandle::AccessMode::READ_ONLY);
(...skipping 13 matching lines...) Expand all
126 DISALLOW_COPY_AND_ASSIGN(DeviceOrientationEventPumpTest); 124 DISALLOW_COPY_AND_ASSIGN(DeviceOrientationEventPumpTest);
127 }; 125 };
128 126
129 TEST_F(DeviceOrientationEventPumpTest, DidStartPolling) { 127 TEST_F(DeviceOrientationEventPumpTest, DidStartPolling) {
130 InitBuffer(); 128 InitBuffer();
131 orientation_pump()->Start(listener()); 129 orientation_pump()->Start(listener());
132 orientation_pump()->DidStart(handle()); 130 orientation_pump()->DidStart(handle());
133 131
134 base::RunLoop().Run(); 132 base::RunLoop().Run();
135 133
136 const blink::WebDeviceOrientationData& received_data = listener()->data(); 134 const device::OrientationData& received_data = listener()->data();
137 EXPECT_TRUE(listener()->did_change_device_orientation()); 135 EXPECT_TRUE(listener()->did_change_device_orientation());
138 EXPECT_TRUE(received_data.allAvailableSensorsAreActive); 136 EXPECT_TRUE(received_data.allAvailableSensorsAreActive);
139 EXPECT_EQ(1, static_cast<double>(received_data.alpha)); 137 EXPECT_EQ(1, static_cast<double>(received_data.alpha));
140 EXPECT_TRUE(received_data.hasAlpha); 138 EXPECT_TRUE(received_data.hasAlpha);
141 EXPECT_EQ(2, static_cast<double>(received_data.beta)); 139 EXPECT_EQ(2, static_cast<double>(received_data.beta));
142 EXPECT_TRUE(received_data.hasBeta); 140 EXPECT_TRUE(received_data.hasBeta);
143 EXPECT_EQ(3, static_cast<double>(received_data.gamma)); 141 EXPECT_EQ(3, static_cast<double>(received_data.gamma));
144 EXPECT_TRUE(received_data.hasGamma); 142 EXPECT_TRUE(received_data.hasGamma);
145 } 143 }
146 144
147 TEST_F(DeviceOrientationEventPumpTest, FireAllNullEvent) { 145 TEST_F(DeviceOrientationEventPumpTest, FireAllNullEvent) {
148 InitBufferNoData(); 146 InitBufferNoData();
149 orientation_pump()->Start(listener()); 147 orientation_pump()->Start(listener());
150 orientation_pump()->DidStart(handle()); 148 orientation_pump()->DidStart(handle());
151 149
152 base::RunLoop().Run(); 150 base::RunLoop().Run();
153 151
154 const blink::WebDeviceOrientationData& received_data = listener()->data(); 152 const device::OrientationData& received_data = listener()->data();
155 EXPECT_TRUE(listener()->did_change_device_orientation()); 153 EXPECT_TRUE(listener()->did_change_device_orientation());
156 EXPECT_TRUE(received_data.allAvailableSensorsAreActive); 154 EXPECT_TRUE(received_data.allAvailableSensorsAreActive);
157 EXPECT_FALSE(received_data.hasAlpha); 155 EXPECT_FALSE(received_data.hasAlpha);
158 EXPECT_FALSE(received_data.hasBeta); 156 EXPECT_FALSE(received_data.hasBeta);
159 EXPECT_FALSE(received_data.hasGamma); 157 EXPECT_FALSE(received_data.hasGamma);
160 } 158 }
161 159
162 TEST_F(DeviceOrientationEventPumpTest, UpdateRespectsOrientationThreshold) { 160 TEST_F(DeviceOrientationEventPumpTest, UpdateRespectsOrientationThreshold) {
163 InitBuffer(); 161 InitBuffer();
164 orientation_pump()->Start(listener()); 162 orientation_pump()->Start(listener());
165 orientation_pump()->DidStart(handle()); 163 orientation_pump()->DidStart(handle());
166 164
167 base::RunLoop().Run(); 165 base::RunLoop().Run();
168 166
169 const blink::WebDeviceOrientationData& received_data = listener()->data(); 167 const device::OrientationData& received_data = listener()->data();
170 EXPECT_TRUE(listener()->did_change_device_orientation()); 168 EXPECT_TRUE(listener()->did_change_device_orientation());
171 EXPECT_TRUE(received_data.allAvailableSensorsAreActive); 169 EXPECT_TRUE(received_data.allAvailableSensorsAreActive);
172 EXPECT_EQ(1, static_cast<double>(received_data.alpha)); 170 EXPECT_EQ(1, static_cast<double>(received_data.alpha));
173 EXPECT_TRUE(received_data.hasAlpha); 171 EXPECT_TRUE(received_data.hasAlpha);
174 EXPECT_EQ(2, static_cast<double>(received_data.beta)); 172 EXPECT_EQ(2, static_cast<double>(received_data.beta));
175 EXPECT_TRUE(received_data.hasBeta); 173 EXPECT_TRUE(received_data.hasBeta);
176 EXPECT_EQ(3, static_cast<double>(received_data.gamma)); 174 EXPECT_EQ(3, static_cast<double>(received_data.gamma));
177 EXPECT_TRUE(received_data.hasGamma); 175 EXPECT_TRUE(received_data.hasGamma);
178 176
179 buffer()->data.alpha = 177 buffer()->data.alpha =
(...skipping 28 matching lines...) Expand all
208 FROM_HERE, base::Bind(&DeviceOrientationEventPumpForTesting::FireEvent, 206 FROM_HERE, base::Bind(&DeviceOrientationEventPumpForTesting::FireEvent,
209 base::Unretained(orientation_pump()))); 207 base::Unretained(orientation_pump())));
210 base::RunLoop().Run(); 208 base::RunLoop().Run();
211 209
212 EXPECT_TRUE(listener()->did_change_device_orientation()); 210 EXPECT_TRUE(listener()->did_change_device_orientation());
213 EXPECT_EQ(1 + DeviceOrientationEventPump::kOrientationThreshold, 211 EXPECT_EQ(1 + DeviceOrientationEventPump::kOrientationThreshold,
214 static_cast<double>(received_data.alpha)); 212 static_cast<double>(received_data.alpha));
215 } 213 }
216 214
217 } // namespace content 215 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/device_sensors/device_orientation_event_pump.cc ('k') | content/renderer/renderer_blink_platform_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698