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 "content/browser/battery_status/battery_status_service.h" | 5 #include "content/browser/battery_status/battery_status_service.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/run_loop.h" | 8 #include "base/run_loop.h" |
9 #include "content/browser/battery_status/battery_status_manager.h" | 9 #include "content/browser/battery_status/battery_status_manager.h" |
10 #include "content/public/test/test_browser_thread_bundle.h" | 10 #include "content/public/test/test_browser_thread_bundle.h" |
11 | 11 |
12 namespace content { | 12 namespace content { |
13 | 13 |
14 namespace { | 14 namespace { |
15 | 15 |
16 class FakeBatteryManager : public BatteryStatusManager { | 16 class FakeBatteryManager : public BatteryStatusManager { |
17 public: | 17 public: |
18 explicit FakeBatteryManager( | 18 explicit FakeBatteryManager( |
19 const BatteryStatusService::BatteryUpdateCallback& callback) | 19 const BatteryStatusService::BatteryUpdateCallback& callback) |
20 : start_invoked_count_(0), | 20 : callback_(callback), start_invoked_count_(0), stop_invoked_count_(0) {} |
21 stop_invoked_count_(0) { | |
22 callback_ = callback; | |
23 } | |
24 virtual ~FakeBatteryManager() { } | 21 virtual ~FakeBatteryManager() { } |
25 | 22 |
26 // Methods from Battery Status Manager | 23 // Methods from Battery Status Manager |
27 virtual bool StartListeningBatteryChange() OVERRIDE { | 24 virtual bool StartListeningBatteryChange() OVERRIDE { |
28 start_invoked_count_++; | 25 start_invoked_count_++; |
29 return true; | 26 return true; |
30 } | 27 } |
31 | 28 |
32 virtual void StopListeningBatteryChange() OVERRIDE { | 29 virtual void StopListeningBatteryChange() OVERRIDE { |
33 stop_invoked_count_++; | 30 stop_invoked_count_++; |
34 } | 31 } |
35 | 32 |
36 void InvokeUpdateCallback(const blink::WebBatteryStatus& status) { | 33 void InvokeUpdateCallback(const blink::WebBatteryStatus& status) { |
37 callback_.Run(status); | 34 callback_.Run(status); |
38 } | 35 } |
39 | 36 |
40 int start_invoked_count() const { return start_invoked_count_; } | 37 int start_invoked_count() const { return start_invoked_count_; } |
41 int stop_invoked_count() const { return stop_invoked_count_; } | 38 int stop_invoked_count() const { return stop_invoked_count_; } |
42 | 39 |
43 private: | 40 private: |
| 41 BatteryStatusService::BatteryUpdateCallback callback_; |
44 int start_invoked_count_; | 42 int start_invoked_count_; |
45 int stop_invoked_count_; | 43 int stop_invoked_count_; |
46 | 44 |
47 DISALLOW_COPY_AND_ASSIGN(FakeBatteryManager); | 45 DISALLOW_COPY_AND_ASSIGN(FakeBatteryManager); |
48 }; | 46 }; |
49 | 47 |
50 class BatteryStatusServiceTest : public testing::Test { | 48 class BatteryStatusServiceTest : public testing::Test { |
51 public: | 49 public: |
52 BatteryStatusServiceTest() | 50 BatteryStatusServiceTest() |
53 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP), | 51 : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP), |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 subscription1.reset(); | 182 subscription1.reset(); |
185 battery_manager()->InvokeUpdateCallback(status); | 183 battery_manager()->InvokeUpdateCallback(status); |
186 base::RunLoop().RunUntilIdle(); | 184 base::RunLoop().RunUntilIdle(); |
187 EXPECT_EQ(1, callback1_invoked_count()); | 185 EXPECT_EQ(1, callback1_invoked_count()); |
188 EXPECT_EQ(2, callback2_invoked_count()); | 186 EXPECT_EQ(2, callback2_invoked_count()); |
189 } | 187 } |
190 | 188 |
191 } // namespace | 189 } // namespace |
192 | 190 |
193 } // namespace content | 191 } // namespace content |
OLD | NEW |