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

Side by Side Diff: content/renderer/battery_status/battery_status_dispatcher_unittest.cc

Issue 446603002: Refactor code listening to platform events in content/renderer/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@webkitplatform_impl_start_stop
Patch Set: apply review comments Created 6 years, 4 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 "battery_status_dispatcher.h" 5 #include "battery_status_dispatcher.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "content/common/battery_status_messages.h" 9 #include "content/common/battery_status_messages.h"
10 #include "content/public/test/test_utils.h" 10 #include "content/public/test/test_utils.h"
(...skipping 17 matching lines...) Expand all
28 const blink::WebBatteryStatus& status() const { return status_; } 28 const blink::WebBatteryStatus& status() const { return status_; }
29 bool did_change_battery_status() const { return did_change_battery_status_; } 29 bool did_change_battery_status() const { return did_change_battery_status_; }
30 30
31 private: 31 private:
32 bool did_change_battery_status_; 32 bool did_change_battery_status_;
33 blink::WebBatteryStatus status_; 33 blink::WebBatteryStatus status_;
34 34
35 DISALLOW_COPY_AND_ASSIGN(MockBatteryStatusListener); 35 DISALLOW_COPY_AND_ASSIGN(MockBatteryStatusListener);
36 }; 36 };
37 37
38 class BatteryStatusDispatcherForTesting : public BatteryStatusDispatcher {
39 public:
40 BatteryStatusDispatcherForTesting()
41 : BatteryStatusDispatcher(0),
42 start_invoked_(false),
43 stop_invoked_(false) { }
44
45 virtual ~BatteryStatusDispatcherForTesting() { }
46
47 bool start_invoked() const { return start_invoked_; }
48 bool stop_invoked() const { return stop_invoked_; }
49
50 protected:
51 virtual bool Start() OVERRIDE {
52 start_invoked_ = true;
53 return true;
54 }
55
56 virtual bool Stop() OVERRIDE {
57 stop_invoked_ = true;
58 return true;
59 }
60
61 private:
62 bool start_invoked_;
63 bool stop_invoked_;
64
65 DISALLOW_COPY_AND_ASSIGN(BatteryStatusDispatcherForTesting);
66 };
67
68 TEST(BatteryStatusDispatcherTest, Start) {
69 MockBatteryStatusListener listener;
70 BatteryStatusDispatcherForTesting dispatcher;
71
72 EXPECT_FALSE(dispatcher.start_invoked());
73 EXPECT_FALSE(dispatcher.stop_invoked());
74
75 dispatcher.SetListener(&listener);
76 EXPECT_TRUE(dispatcher.start_invoked());
77
78 dispatcher.SetListener(0);
79 EXPECT_TRUE(dispatcher.stop_invoked());
80 }
81
82 TEST(BatteryStatusDispatcherTest, UpdateListener) { 38 TEST(BatteryStatusDispatcherTest, UpdateListener) {
83 MockBatteryStatusListener listener; 39 MockBatteryStatusListener listener;
84 BatteryStatusDispatcherForTesting dispatcher; 40 BatteryStatusDispatcher dispatcher(0);
85 41
86 blink::WebBatteryStatus status; 42 blink::WebBatteryStatus status;
87 status.charging = true; 43 status.charging = true;
88 status.chargingTime = 100; 44 status.chargingTime = 100;
89 status.dischargingTime = 200; 45 status.dischargingTime = 200;
90 status.level = 0.5; 46 status.level = 0.5;
91 47
92 dispatcher.SetListener(&listener); 48 dispatcher.Start(&listener);
93 EXPECT_TRUE(dispatcher.start_invoked());
94 49
95 BatteryStatusMsg_DidChange message(status); 50 BatteryStatusMsg_DidChange message(status);
96 dispatcher.OnControlMessageReceived(message); 51 dispatcher.OnControlMessageReceived(message);
97 52
98 const blink::WebBatteryStatus& received_status = listener.status(); 53 const blink::WebBatteryStatus& received_status = listener.status();
99 EXPECT_TRUE(listener.did_change_battery_status()); 54 EXPECT_TRUE(listener.did_change_battery_status());
100 EXPECT_EQ(status.charging, received_status.charging); 55 EXPECT_EQ(status.charging, received_status.charging);
101 EXPECT_EQ(status.chargingTime, received_status.chargingTime); 56 EXPECT_EQ(status.chargingTime, received_status.chargingTime);
102 EXPECT_EQ(status.dischargingTime, received_status.dischargingTime); 57 EXPECT_EQ(status.dischargingTime, received_status.dischargingTime);
103 EXPECT_EQ(status.level, received_status.level); 58 EXPECT_EQ(status.level, received_status.level);
104 59
105 dispatcher.SetListener(0); 60 dispatcher.Stop();
106 EXPECT_TRUE(dispatcher.stop_invoked());
107 } 61 }
108 62
109 TEST(BatteryStatusDispatcherTest, NoUpdateWhenNullListener) { 63 TEST(BatteryStatusDispatcherTest, NoUpdateWhenNullListener) {
110 MockBatteryStatusListener listener; 64 MockBatteryStatusListener listener;
111 BatteryStatusDispatcherForTesting dispatcher; 65 BatteryStatusDispatcher dispatcher(0);
112 66
113 dispatcher.SetListener(0); 67 dispatcher.Stop();
114 EXPECT_FALSE(dispatcher.start_invoked());
115 EXPECT_TRUE(dispatcher.stop_invoked());
116 68
117 blink::WebBatteryStatus status; 69 blink::WebBatteryStatus status;
118 BatteryStatusMsg_DidChange message(status); 70 BatteryStatusMsg_DidChange message(status);
119 dispatcher.OnControlMessageReceived(message); 71 dispatcher.OnControlMessageReceived(message);
120 EXPECT_FALSE(listener.did_change_battery_status()); 72 EXPECT_FALSE(listener.did_change_battery_status());
121 } 73 }
122 74
123 } // namespace content 75 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698