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

Side by Side Diff: trunk/src/content/browser/battery_status/battery_status_manager_linux_unittest.cc

Issue 472643002: Revert 289372 "Battery Status API: implementation for Linux." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: 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 | Annotate | Revision Log
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "content/browser/battery_status/battery_status_manager_linux.h"
6
7 #include "base/values.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 namespace content {
11
12 namespace {
13
14 TEST(BatteryStatusManagerLinuxTest, EmptyDictionary) {
15 base::DictionaryValue dictionary;
16 blink::WebBatteryStatus default_status;
17 blink::WebBatteryStatus status = ComputeWebBatteryStatus(dictionary);
18
19 EXPECT_EQ(default_status.charging, status.charging);
20 EXPECT_EQ(default_status.chargingTime, status.chargingTime);
21 EXPECT_EQ(default_status.dischargingTime, status.dischargingTime);
22 EXPECT_EQ(default_status.level, status.level);
23 }
24
25 TEST(BatteryStatusManagerLinuxTest, ChargingHalfFull) {
26 base::DictionaryValue dictionary;
27 dictionary.SetDouble("State", UPOWER_DEVICE_STATE_CHARGING);
28 dictionary.SetDouble("TimeToFull", 0);
29 dictionary.SetDouble("Percentage", 50);
30
31 blink::WebBatteryStatus status = ComputeWebBatteryStatus(dictionary);
32
33 EXPECT_TRUE(status.charging);
34 EXPECT_EQ(std::numeric_limits<double>::infinity(), status.chargingTime);
35 EXPECT_EQ(std::numeric_limits<double>::infinity(), status.dischargingTime);
36 EXPECT_EQ(0.5, status.level);
37 }
38
39 TEST(BatteryStatusManagerLinuxTest, ChargingTimeToFull) {
40 base::DictionaryValue dictionary;
41 dictionary.SetDouble("State", UPOWER_DEVICE_STATE_CHARGING);
42 dictionary.SetDouble("TimeToFull", 100.f);
43 dictionary.SetDouble("Percentage", 1);
44
45 blink::WebBatteryStatus status = ComputeWebBatteryStatus(dictionary);
46
47 EXPECT_TRUE(status.charging);
48 EXPECT_EQ(100, status.chargingTime);
49 EXPECT_EQ(std::numeric_limits<double>::infinity(), status.dischargingTime);
50 EXPECT_EQ(.01, status.level);
51 }
52
53 TEST(BatteryStatusManagerLinuxTest, FullyCharged) {
54 base::DictionaryValue dictionary;
55 dictionary.SetDouble("State", UPOWER_DEVICE_STATE_FULL);
56 dictionary.SetDouble("TimeToFull", 100);
57 dictionary.SetDouble("TimeToEmpty", 200);
58 dictionary.SetDouble("Percentage", 100);
59
60 blink::WebBatteryStatus status = ComputeWebBatteryStatus(dictionary);
61
62 EXPECT_TRUE(status.charging);
63 EXPECT_EQ(0, status.chargingTime);
64 EXPECT_EQ(std::numeric_limits<double>::infinity(), status.dischargingTime);
65 EXPECT_EQ(1, status.level);
66 }
67
68 TEST(BatteryStatusManagerLinuxTest, Discharging) {
69 base::DictionaryValue dictionary;
70 dictionary.SetDouble("State", UPOWER_DEVICE_STATE_DISCHARGING);
71 dictionary.SetDouble("TimeToFull", 0);
72 dictionary.SetDouble("TimeToEmpty", 200);
73 dictionary.SetDouble("Percentage", 90);
74
75 blink::WebBatteryStatus status = ComputeWebBatteryStatus(dictionary);
76
77 EXPECT_FALSE(status.charging);
78 EXPECT_EQ(std::numeric_limits<double>::infinity(), status.chargingTime);
79 EXPECT_EQ(200, status.dischargingTime);
80 EXPECT_EQ(.9, status.level);
81 }
82
83 TEST(BatteryStatusManagerLinuxTest, DischargingTimeToEmptyUnknown) {
84 base::DictionaryValue dictionary;
85 dictionary.SetDouble("State", UPOWER_DEVICE_STATE_DISCHARGING);
86 dictionary.SetDouble("TimeToFull", 0);
87 dictionary.SetDouble("TimeToEmpty", 0);
88 dictionary.SetDouble("Percentage", 90);
89
90 blink::WebBatteryStatus status = ComputeWebBatteryStatus(dictionary);
91
92 EXPECT_FALSE(status.charging);
93 EXPECT_EQ(std::numeric_limits<double>::infinity(), status.chargingTime);
94 EXPECT_EQ(std::numeric_limits<double>::infinity(), status.dischargingTime);
95 EXPECT_EQ(.9, status.level);
96 }
97
98 TEST(BatteryStatusManagerLinuxTest, DeviceStateUnknown) {
99 base::DictionaryValue dictionary;
100 dictionary.SetDouble("State", UPOWER_DEVICE_STATE_UNKNOWN);
101 dictionary.SetDouble("TimeToFull", 0);
102 dictionary.SetDouble("TimeToEmpty", 0);
103 dictionary.SetDouble("Percentage", 50);
104
105 blink::WebBatteryStatus status = ComputeWebBatteryStatus(dictionary);
106
107 EXPECT_TRUE(status.charging);
108 EXPECT_EQ(std::numeric_limits<double>::infinity(), status.chargingTime);
109 EXPECT_EQ(std::numeric_limits<double>::infinity(), status.dischargingTime);
110 EXPECT_EQ(.5, status.level);
111 }
112
113 TEST(BatteryStatusManagerLinuxTest, DeviceStateEmpty) {
114 base::DictionaryValue dictionary;
115 dictionary.SetDouble("State", UPOWER_DEVICE_STATE_EMPTY);
116 dictionary.SetDouble("TimeToFull", 0);
117 dictionary.SetDouble("TimeToEmpty", 0);
118 dictionary.SetDouble("Percentage", 0);
119
120 blink::WebBatteryStatus status = ComputeWebBatteryStatus(dictionary);
121
122 EXPECT_FALSE(status.charging);
123 EXPECT_EQ(std::numeric_limits<double>::infinity(), status.chargingTime);
124 EXPECT_EQ(std::numeric_limits<double>::infinity(), status.dischargingTime);
125 EXPECT_EQ(0, status.level);
126 }
127
128 TEST(BatteryStatusManagerLinuxTest, LevelRoundedToThreeSignificantDigits) {
129 base::DictionaryValue dictionary;
130 dictionary.SetDouble("State", UPOWER_DEVICE_STATE_DISCHARGING);
131 dictionary.SetDouble("Percentage", 14.56);
132
133 blink::WebBatteryStatus status = ComputeWebBatteryStatus(dictionary);
134
135 EXPECT_FALSE(status.charging);
136 EXPECT_EQ(std::numeric_limits<double>::infinity(), status.chargingTime);
137 EXPECT_EQ(std::numeric_limits<double>::infinity(), status.dischargingTime);
138 EXPECT_EQ(0.15, status.level);
139 }
140
141 } // namespace
142
143 } // namespace content
OLDNEW
« no previous file with comments | « trunk/src/content/browser/battery_status/battery_status_manager_linux.cc ('k') | trunk/src/content/content_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698