| OLD | NEW |
| 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 "base/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/message_loop/message_loop.h" | 6 #include "base/message_loop/message_loop.h" |
| 7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
| 8 #include "device/battery/battery_status_manager.h" | 8 #include "device/battery/battery_status_manager.h" |
| 9 #include "device/battery/battery_status_service.h" | 9 #include "device/battery/battery_status_service.h" |
| 10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 132 | 132 |
| 133 TEST_F(BatteryStatusServiceTest, AddFirstCallback) { | 133 TEST_F(BatteryStatusServiceTest, AddFirstCallback) { |
| 134 scoped_ptr<BatterySubscription> subscription1 = AddCallback(callback1()); | 134 scoped_ptr<BatterySubscription> subscription1 = AddCallback(callback1()); |
| 135 EXPECT_EQ(1, battery_manager()->start_invoked_count()); | 135 EXPECT_EQ(1, battery_manager()->start_invoked_count()); |
| 136 EXPECT_EQ(0, battery_manager()->stop_invoked_count()); | 136 EXPECT_EQ(0, battery_manager()->stop_invoked_count()); |
| 137 subscription1.reset(); | 137 subscription1.reset(); |
| 138 EXPECT_EQ(1, battery_manager()->start_invoked_count()); | 138 EXPECT_EQ(1, battery_manager()->start_invoked_count()); |
| 139 EXPECT_EQ(1, battery_manager()->stop_invoked_count()); | 139 EXPECT_EQ(1, battery_manager()->stop_invoked_count()); |
| 140 } | 140 } |
| 141 | 141 |
| 142 TEST_F(BatteryStatusServiceTest, AddCallbackAfterUpdate) { | 142 // Fails on Windows. http://crbug.com/429942. |
| 143 #if defined(OS_WIN) |
| 144 #define MAYBE_AddCallbackAfterUpdate DISABLED_AddCallbackAfterUpdate |
| 145 #else |
| 146 #define MAYBE_AddCallbackAfterUpdate AddCallbackAfterUpdate |
| 147 #endif |
| 148 TEST_F(BatteryStatusServiceTest, MAYBE_AddCallbackAfterUpdate) { |
| 143 scoped_ptr<BatterySubscription> subscription1 = AddCallback(callback1()); | 149 scoped_ptr<BatterySubscription> subscription1 = AddCallback(callback1()); |
| 144 BatteryStatus status; | 150 BatteryStatus status; |
| 145 battery_manager()->InvokeUpdateCallback(status); | 151 battery_manager()->InvokeUpdateCallback(status); |
| 146 base::RunLoop().RunUntilIdle(); | 152 base::RunLoop().RunUntilIdle(); |
| 147 EXPECT_EQ(1, callback1_invoked_count()); | 153 EXPECT_EQ(1, callback1_invoked_count()); |
| 148 EXPECT_EQ(0, callback2_invoked_count()); | 154 EXPECT_EQ(0, callback2_invoked_count()); |
| 149 | 155 |
| 150 scoped_ptr<BatterySubscription> subscription2 = AddCallback(callback2()); | 156 scoped_ptr<BatterySubscription> subscription2 = AddCallback(callback2()); |
| 151 EXPECT_EQ(1, callback1_invoked_count()); | 157 EXPECT_EQ(1, callback1_invoked_count()); |
| 152 EXPECT_EQ(1, callback2_invoked_count()); | 158 EXPECT_EQ(1, callback2_invoked_count()); |
| 153 } | 159 } |
| 154 | 160 |
| 155 TEST_F(BatteryStatusServiceTest, TwoCallbacksUpdate) { | 161 // Fails on Windows. http://crbug.com/429942. |
| 162 #if defined(OS_WIN) |
| 163 #define MAYBE_TwoCallbacksUpdate DISABLED_TwoCallbacksUpdate |
| 164 #else |
| 165 #define MAYBE_TwoCallbacksUpdate TwoCallbacksUpdate |
| 166 #endif |
| 167 TEST_F(BatteryStatusServiceTest, MAYBE_TwoCallbacksUpdate) { |
| 156 scoped_ptr<BatterySubscription> subscription1 = AddCallback(callback1()); | 168 scoped_ptr<BatterySubscription> subscription1 = AddCallback(callback1()); |
| 157 scoped_ptr<BatterySubscription> subscription2 = AddCallback(callback2()); | 169 scoped_ptr<BatterySubscription> subscription2 = AddCallback(callback2()); |
| 158 | 170 |
| 159 BatteryStatus status; | 171 BatteryStatus status; |
| 160 status.charging = true; | 172 status.charging = true; |
| 161 status.charging_time = 100; | 173 status.charging_time = 100; |
| 162 status.discharging_time = 200; | 174 status.discharging_time = 200; |
| 163 status.level = 0.5; | 175 status.level = 0.5; |
| 164 battery_manager()->InvokeUpdateCallback(status); | 176 battery_manager()->InvokeUpdateCallback(status); |
| 165 base::RunLoop().RunUntilIdle(); | 177 base::RunLoop().RunUntilIdle(); |
| 166 | 178 |
| 167 EXPECT_EQ(1, callback1_invoked_count()); | 179 EXPECT_EQ(1, callback1_invoked_count()); |
| 168 EXPECT_EQ(1, callback2_invoked_count()); | 180 EXPECT_EQ(1, callback2_invoked_count()); |
| 169 EXPECT_EQ(status.charging, battery_status().charging); | 181 EXPECT_EQ(status.charging, battery_status().charging); |
| 170 EXPECT_EQ(status.charging_time, battery_status().charging_time); | 182 EXPECT_EQ(status.charging_time, battery_status().charging_time); |
| 171 EXPECT_EQ(status.discharging_time, battery_status().discharging_time); | 183 EXPECT_EQ(status.discharging_time, battery_status().discharging_time); |
| 172 EXPECT_EQ(status.level, battery_status().level); | 184 EXPECT_EQ(status.level, battery_status().level); |
| 173 } | 185 } |
| 174 | 186 |
| 175 TEST_F(BatteryStatusServiceTest, RemoveOneCallback) { | 187 // Fails on Windows. http://crbug.com/429942. |
| 188 #if defined(OS_WIN) |
| 189 #define MAYBE_RemoveOneCallback DISABLED_RemoveOneCallback |
| 190 #else |
| 191 #define MAYBE_RemoveOneCallback RemoveOneCallback |
| 192 #endif |
| 193 TEST_F(BatteryStatusServiceTest, MAYBE_RemoveOneCallback) { |
| 176 scoped_ptr<BatterySubscription> subscription1 = AddCallback(callback1()); | 194 scoped_ptr<BatterySubscription> subscription1 = AddCallback(callback1()); |
| 177 scoped_ptr<BatterySubscription> subscription2 = AddCallback(callback2()); | 195 scoped_ptr<BatterySubscription> subscription2 = AddCallback(callback2()); |
| 178 | 196 |
| 179 BatteryStatus status; | 197 BatteryStatus status; |
| 180 battery_manager()->InvokeUpdateCallback(status); | 198 battery_manager()->InvokeUpdateCallback(status); |
| 181 base::RunLoop().RunUntilIdle(); | 199 base::RunLoop().RunUntilIdle(); |
| 182 EXPECT_EQ(1, callback1_invoked_count()); | 200 EXPECT_EQ(1, callback1_invoked_count()); |
| 183 EXPECT_EQ(1, callback2_invoked_count()); | 201 EXPECT_EQ(1, callback2_invoked_count()); |
| 184 | 202 |
| 185 subscription1.reset(); | 203 subscription1.reset(); |
| 186 battery_manager()->InvokeUpdateCallback(status); | 204 battery_manager()->InvokeUpdateCallback(status); |
| 187 base::RunLoop().RunUntilIdle(); | 205 base::RunLoop().RunUntilIdle(); |
| 188 EXPECT_EQ(1, callback1_invoked_count()); | 206 EXPECT_EQ(1, callback1_invoked_count()); |
| 189 EXPECT_EQ(2, callback2_invoked_count()); | 207 EXPECT_EQ(2, callback2_invoked_count()); |
| 190 } | 208 } |
| 191 | 209 |
| 192 } // namespace | 210 } // namespace |
| 193 | 211 |
| 194 } // namespace device | 212 } // namespace device |
| OLD | NEW |