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

Side by Side Diff: content/browser/device_sensors/sensor_manager_android_unittest.cc

Issue 2410123002: Remove content::BrowserThread knowledge from Device Sensors (Closed)
Patch Set: Rebase, avoid object creation on startup Created 4 years, 1 month 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/browser/device_sensors/sensor_manager_android.h" 5 #include "content/browser/device_sensors/sensor_manager_android.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/android/jni_android.h" 9 #include "base/android/jni_android.h"
10 #include "base/memory/weak_ptr.h" 10 #include "base/memory/weak_ptr.h"
11 #include "base/message_loop/message_loop.h"
12 #include "base/threading/thread_task_runner_handle.h"
11 #include "content/browser/device_sensors/device_sensors_consts.h" 13 #include "content/browser/device_sensors/device_sensors_consts.h"
12 #include "content/public/test/test_browser_thread_bundle.h"
13 #include "testing/gtest/include/gtest/gtest.h" 14 #include "testing/gtest/include/gtest/gtest.h"
14 15
15 namespace content { 16 namespace content {
16 17
17 namespace { 18 namespace {
18 19
19 class FakeSensorManagerAndroid : public SensorManagerAndroid { 20 class FakeSensorManagerAndroid : public SensorManagerAndroid {
20 public: 21 public:
21 FakeSensorManagerAndroid() {} 22 FakeSensorManagerAndroid() {}
22 ~FakeSensorManagerAndroid() override {} 23 ~FakeSensorManagerAndroid() override {}
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 ASSERT_EQ(beta, buffer->data.beta); 60 ASSERT_EQ(beta, buffer->data.beta);
60 ASSERT_TRUE(buffer->data.hasBeta); 61 ASSERT_TRUE(buffer->data.hasBeta);
61 ASSERT_EQ(gamma, buffer->data.gamma); 62 ASSERT_EQ(gamma, buffer->data.gamma);
62 ASSERT_TRUE(buffer->data.hasGamma); 63 ASSERT_TRUE(buffer->data.hasGamma);
63 } 64 }
64 65
65 std::unique_ptr<DeviceLightHardwareBuffer> light_buffer_; 66 std::unique_ptr<DeviceLightHardwareBuffer> light_buffer_;
66 std::unique_ptr<DeviceMotionHardwareBuffer> motion_buffer_; 67 std::unique_ptr<DeviceMotionHardwareBuffer> motion_buffer_;
67 std::unique_ptr<DeviceOrientationHardwareBuffer> orientation_buffer_; 68 std::unique_ptr<DeviceOrientationHardwareBuffer> orientation_buffer_;
68 std::unique_ptr<DeviceOrientationHardwareBuffer> orientation_absolute_buffer_; 69 std::unique_ptr<DeviceOrientationHardwareBuffer> orientation_absolute_buffer_;
69 content::TestBrowserThreadBundle thread_bundle_; 70 base::MessageLoop message_loop_;
70 }; 71 };
71 72
72 TEST_F(AndroidSensorManagerTest, ThreeDeviceMotionSensorsActive) { 73 TEST_F(AndroidSensorManagerTest, ThreeDeviceMotionSensorsActive) {
73 FakeSensorManagerAndroid::Register(base::android::AttachCurrentThread()); 74 FakeSensorManagerAndroid::Register(base::android::AttachCurrentThread());
74 FakeSensorManagerAndroid sensorManager; 75 FakeSensorManagerAndroid sensorManager;
76 sensorManager.SetUITaskRunner(base::ThreadTaskRunnerHandle::Get());
75 sensorManager.SetNumberActiveDeviceMotionSensors(3); 77 sensorManager.SetNumberActiveDeviceMotionSensors(3);
76 78
77 sensorManager.StartFetchingDeviceMotionData(motion_buffer_.get()); 79 sensorManager.StartFetchingDeviceMotionData(motion_buffer_.get());
78 ASSERT_FALSE(motion_buffer_->data.allAvailableSensorsAreActive); 80 ASSERT_FALSE(motion_buffer_->data.allAvailableSensorsAreActive);
79 81
80 sensorManager.GotAcceleration(nullptr, nullptr, 1, 2, 3); 82 sensorManager.GotAcceleration(nullptr, nullptr, 1, 2, 3);
81 ASSERT_FALSE(motion_buffer_->data.allAvailableSensorsAreActive); 83 ASSERT_FALSE(motion_buffer_->data.allAvailableSensorsAreActive);
82 ASSERT_EQ(1, motion_buffer_->data.accelerationX); 84 ASSERT_EQ(1, motion_buffer_->data.accelerationX);
83 ASSERT_TRUE(motion_buffer_->data.hasAccelerationX); 85 ASSERT_TRUE(motion_buffer_->data.hasAccelerationX);
84 ASSERT_EQ(2, motion_buffer_->data.accelerationY); 86 ASSERT_EQ(2, motion_buffer_->data.accelerationY);
(...skipping 21 matching lines...) Expand all
106 ASSERT_EQ(kDeviceSensorIntervalMicroseconds / 1000., 108 ASSERT_EQ(kDeviceSensorIntervalMicroseconds / 1000.,
107 motion_buffer_->data.interval); 109 motion_buffer_->data.interval);
108 110
109 sensorManager.StopFetchingDeviceMotionData(); 111 sensorManager.StopFetchingDeviceMotionData();
110 ASSERT_FALSE(motion_buffer_->data.allAvailableSensorsAreActive); 112 ASSERT_FALSE(motion_buffer_->data.allAvailableSensorsAreActive);
111 } 113 }
112 114
113 TEST_F(AndroidSensorManagerTest, TwoDeviceMotionSensorsActive) { 115 TEST_F(AndroidSensorManagerTest, TwoDeviceMotionSensorsActive) {
114 FakeSensorManagerAndroid::Register(base::android::AttachCurrentThread()); 116 FakeSensorManagerAndroid::Register(base::android::AttachCurrentThread());
115 FakeSensorManagerAndroid sensorManager; 117 FakeSensorManagerAndroid sensorManager;
118 sensorManager.SetUITaskRunner(base::ThreadTaskRunnerHandle::Get());
116 sensorManager.SetNumberActiveDeviceMotionSensors(2); 119 sensorManager.SetNumberActiveDeviceMotionSensors(2);
117 120
118 sensorManager.StartFetchingDeviceMotionData(motion_buffer_.get()); 121 sensorManager.StartFetchingDeviceMotionData(motion_buffer_.get());
119 ASSERT_FALSE(motion_buffer_->data.allAvailableSensorsAreActive); 122 ASSERT_FALSE(motion_buffer_->data.allAvailableSensorsAreActive);
120 123
121 sensorManager.GotAcceleration(nullptr, nullptr, 1, 2, 3); 124 sensorManager.GotAcceleration(nullptr, nullptr, 1, 2, 3);
122 ASSERT_FALSE(motion_buffer_->data.allAvailableSensorsAreActive); 125 ASSERT_FALSE(motion_buffer_->data.allAvailableSensorsAreActive);
123 126
124 sensorManager.GotAccelerationIncludingGravity(nullptr, nullptr, 1, 2, 3); 127 sensorManager.GotAccelerationIncludingGravity(nullptr, nullptr, 1, 2, 3);
125 ASSERT_TRUE(motion_buffer_->data.allAvailableSensorsAreActive); 128 ASSERT_TRUE(motion_buffer_->data.allAvailableSensorsAreActive);
126 ASSERT_EQ(kDeviceSensorIntervalMicroseconds / 1000., 129 ASSERT_EQ(kDeviceSensorIntervalMicroseconds / 1000.,
127 motion_buffer_->data.interval); 130 motion_buffer_->data.interval);
128 131
129 sensorManager.StopFetchingDeviceMotionData(); 132 sensorManager.StopFetchingDeviceMotionData();
130 ASSERT_FALSE(motion_buffer_->data.allAvailableSensorsAreActive); 133 ASSERT_FALSE(motion_buffer_->data.allAvailableSensorsAreActive);
131 } 134 }
132 135
133 TEST_F(AndroidSensorManagerTest, ZeroDeviceMotionSensorsActive) { 136 TEST_F(AndroidSensorManagerTest, ZeroDeviceMotionSensorsActive) {
134 FakeSensorManagerAndroid::Register(base::android::AttachCurrentThread()); 137 FakeSensorManagerAndroid::Register(base::android::AttachCurrentThread());
135 FakeSensorManagerAndroid sensorManager; 138 FakeSensorManagerAndroid sensorManager;
139 sensorManager.SetUITaskRunner(base::ThreadTaskRunnerHandle::Get());
136 sensorManager.SetNumberActiveDeviceMotionSensors(0); 140 sensorManager.SetNumberActiveDeviceMotionSensors(0);
137 141
138 sensorManager.StartFetchingDeviceMotionData(motion_buffer_.get()); 142 sensorManager.StartFetchingDeviceMotionData(motion_buffer_.get());
139 ASSERT_TRUE(motion_buffer_->data.allAvailableSensorsAreActive); 143 ASSERT_TRUE(motion_buffer_->data.allAvailableSensorsAreActive);
140 ASSERT_EQ(kDeviceSensorIntervalMicroseconds / 1000., 144 ASSERT_EQ(kDeviceSensorIntervalMicroseconds / 1000.,
141 motion_buffer_->data.interval); 145 motion_buffer_->data.interval);
142 146
143 sensorManager.StopFetchingDeviceMotionData(); 147 sensorManager.StopFetchingDeviceMotionData();
144 ASSERT_FALSE(motion_buffer_->data.allAvailableSensorsAreActive); 148 ASSERT_FALSE(motion_buffer_->data.allAvailableSensorsAreActive);
145 } 149 }
146 150
147 TEST_F(AndroidSensorManagerTest, DeviceOrientationSensorsActive) { 151 TEST_F(AndroidSensorManagerTest, DeviceOrientationSensorsActive) {
148 FakeSensorManagerAndroid::Register(base::android::AttachCurrentThread()); 152 FakeSensorManagerAndroid::Register(base::android::AttachCurrentThread());
149 FakeSensorManagerAndroid sensorManager; 153 FakeSensorManagerAndroid sensorManager;
154 sensorManager.SetUITaskRunner(base::ThreadTaskRunnerHandle::Get());
150 155
151 sensorManager.StartFetchingDeviceOrientationData(orientation_buffer_.get()); 156 sensorManager.StartFetchingDeviceOrientationData(orientation_buffer_.get());
152 ASSERT_FALSE(orientation_buffer_->data.allAvailableSensorsAreActive); 157 ASSERT_FALSE(orientation_buffer_->data.allAvailableSensorsAreActive);
153 158
154 sensorManager.GotOrientation(nullptr, nullptr, 1, 2, 3); 159 sensorManager.GotOrientation(nullptr, nullptr, 1, 2, 3);
155 VerifyOrientationBufferValues(orientation_buffer_.get(), 1, 2, 3); 160 VerifyOrientationBufferValues(orientation_buffer_.get(), 1, 2, 3);
156 161
157 sensorManager.StopFetchingDeviceOrientationData(); 162 sensorManager.StopFetchingDeviceOrientationData();
158 ASSERT_FALSE(orientation_buffer_->data.allAvailableSensorsAreActive); 163 ASSERT_FALSE(orientation_buffer_->data.allAvailableSensorsAreActive);
159 } 164 }
160 165
161 TEST_F(AndroidSensorManagerTest, DeviceOrientationAbsoluteSensorsActive) { 166 TEST_F(AndroidSensorManagerTest, DeviceOrientationAbsoluteSensorsActive) {
162 FakeSensorManagerAndroid::Register(base::android::AttachCurrentThread()); 167 FakeSensorManagerAndroid::Register(base::android::AttachCurrentThread());
163 FakeSensorManagerAndroid sensorManager; 168 FakeSensorManagerAndroid sensorManager;
169 sensorManager.SetUITaskRunner(base::ThreadTaskRunnerHandle::Get());
164 170
165 sensorManager.StartFetchingDeviceOrientationAbsoluteData( 171 sensorManager.StartFetchingDeviceOrientationAbsoluteData(
166 orientation_absolute_buffer_.get()); 172 orientation_absolute_buffer_.get());
167 ASSERT_FALSE(orientation_buffer_->data.allAvailableSensorsAreActive); 173 ASSERT_FALSE(orientation_buffer_->data.allAvailableSensorsAreActive);
168 174
169 sensorManager.GotOrientationAbsolute(nullptr, nullptr, 4, 5, 6); 175 sensorManager.GotOrientationAbsolute(nullptr, nullptr, 4, 5, 6);
170 VerifyOrientationBufferValues(orientation_absolute_buffer_.get(), 4, 5, 6); 176 VerifyOrientationBufferValues(orientation_absolute_buffer_.get(), 4, 5, 6);
171 177
172 sensorManager.StopFetchingDeviceOrientationData(); 178 sensorManager.StopFetchingDeviceOrientationData();
173 ASSERT_FALSE(orientation_buffer_->data.allAvailableSensorsAreActive); 179 ASSERT_FALSE(orientation_buffer_->data.allAvailableSensorsAreActive);
174 } 180 }
175 181
176 // DeviceLight 182 // DeviceLight
177 TEST_F(AndroidSensorManagerTest, DeviceLightSensorsActive) { 183 TEST_F(AndroidSensorManagerTest, DeviceLightSensorsActive) {
178 FakeSensorManagerAndroid::Register(base::android::AttachCurrentThread()); 184 FakeSensorManagerAndroid::Register(base::android::AttachCurrentThread());
179 FakeSensorManagerAndroid sensorManager; 185 FakeSensorManagerAndroid sensorManager;
186 sensorManager.SetUITaskRunner(base::ThreadTaskRunnerHandle::Get());
180 187
181 sensorManager.StartFetchingDeviceLightData(light_buffer_.get()); 188 sensorManager.StartFetchingDeviceLightData(light_buffer_.get());
182 189
183 sensorManager.GotLight(nullptr, nullptr, 100); 190 sensorManager.GotLight(nullptr, nullptr, 100);
184 ASSERT_EQ(100, light_buffer_->data.value); 191 ASSERT_EQ(100, light_buffer_->data.value);
185 192
186 sensorManager.StopFetchingDeviceLightData(); 193 sensorManager.StopFetchingDeviceLightData();
187 ASSERT_EQ(-1, light_buffer_->data.value); 194 ASSERT_EQ(-1, light_buffer_->data.value);
188 } 195 }
189 196
190 } // namespace 197 } // namespace
191 198
192 } // namespace content 199 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/device_sensors/sensor_manager_android.cc ('k') | content/browser/renderer_host/render_process_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698