summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/print_battery_info.c4
-rw-r--r--testcases/014-battery-capacity/expected_output.txt1
-rw-r--r--testcases/014-battery-capacity/i3status.conf13
-rw-r--r--testcases/014-battery-capacity/uevent7
-rw-r--r--testcases/015-battery-capacity/expected_output.txt1
-rw-r--r--testcases/015-battery-capacity/i3status.conf13
-rw-r--r--testcases/015-battery-capacity/uevent10
7 files changed, 49 insertions, 0 deletions
diff --git a/src/print_battery_info.c b/src/print_battery_info.c
index 7883a11..f15cbfa 100644
--- a/src/print_battery_info.c
+++ b/src/print_battery_info.c
@@ -138,9 +138,13 @@ static bool slurp_battery_info(struct battery_info *batt_info, yajl_gen json_gen
if (BEGINS_WITH(last, "POWER_SUPPLY_ENERGY_NOW=")) {
watt_as_unit = true;
batt_info->remaining = atoi(walk + 1);
+ batt_info->percentage_remaining = -1;
} else if (BEGINS_WITH(last, "POWER_SUPPLY_CHARGE_NOW=")) {
watt_as_unit = false;
batt_info->remaining = atoi(walk + 1);
+ batt_info->percentage_remaining = -1;
+ } else if (BEGINS_WITH(last, "POWER_SUPPLY_CAPACITY=") && batt_info->remaining == -1) {
+ batt_info->percentage_remaining = atoi(walk + 1);
} else if (BEGINS_WITH(last, "POWER_SUPPLY_CURRENT_NOW="))
batt_info->present_rate = abs(atoi(walk + 1));
else if (BEGINS_WITH(last, "POWER_SUPPLY_VOLTAGE_NOW="))
diff --git a/testcases/014-battery-capacity/expected_output.txt b/testcases/014-battery-capacity/expected_output.txt
new file mode 100644
index 0000000..3f97d1b
--- /dev/null
+++ b/testcases/014-battery-capacity/expected_output.txt
@@ -0,0 +1 @@
+Touchpad: 100.00% BAT \ No newline at end of file
diff --git a/testcases/014-battery-capacity/i3status.conf b/testcases/014-battery-capacity/i3status.conf
new file mode 100644
index 0000000..d48aa50
--- /dev/null
+++ b/testcases/014-battery-capacity/i3status.conf
@@ -0,0 +1,13 @@
+general {
+ output_format = "none"
+}
+
+order += "battery 1"
+
+battery 1 {
+ format = "Touchpad: %percentage %status %remaining"
+ format_down = "No touchpad"
+ path = "/sys/class/power_supply/hid-ff:ff:ff:ff:ff:ff-battery/uevent"
+ path = "testcases/014-battery-capacity/uevent"
+ low_threshold = 10
+}
diff --git a/testcases/014-battery-capacity/uevent b/testcases/014-battery-capacity/uevent
new file mode 100644
index 0000000..5f06cc9
--- /dev/null
+++ b/testcases/014-battery-capacity/uevent
@@ -0,0 +1,7 @@
+POWER_SUPPLY_NAME=hid-70:cd:60:f7:a0:5c-battery
+POWER_SUPPLY_PRESENT=1
+POWER_SUPPLY_ONLINE=1
+POWER_SUPPLY_CAPACITY=100
+POWER_SUPPLY_MODEL_NAME=applemagictrackpad
+POWER_SUPPLY_STATUS=Discharging
+POWER_SUPPLY_SCOPE=Device
diff --git a/testcases/015-battery-capacity/expected_output.txt b/testcases/015-battery-capacity/expected_output.txt
new file mode 100644
index 0000000..663a593
--- /dev/null
+++ b/testcases/015-battery-capacity/expected_output.txt
@@ -0,0 +1 @@
+Touchpad: 30.64% BAT 02:09:32
diff --git a/testcases/015-battery-capacity/i3status.conf b/testcases/015-battery-capacity/i3status.conf
new file mode 100644
index 0000000..60e626f
--- /dev/null
+++ b/testcases/015-battery-capacity/i3status.conf
@@ -0,0 +1,13 @@
+general {
+ output_format = "none"
+}
+
+order += "battery 1"
+
+battery 1 {
+ format = "Touchpad: %percentage %status %remaining"
+ format_down = "No touchpad"
+ path = "/sys/class/power_supply/hid-ff:ff:ff:ff:ff:ff-battery/uevent"
+ path = "testcases/015-battery-capacity/uevent"
+ low_threshold = 10
+}
diff --git a/testcases/015-battery-capacity/uevent b/testcases/015-battery-capacity/uevent
new file mode 100644
index 0000000..ac74624
--- /dev/null
+++ b/testcases/015-battery-capacity/uevent
@@ -0,0 +1,10 @@
+POWER_SUPPLY_CAPACITY=100
+POWER_SUPPLY_CURRENT_NOW=1107000
+POWER_SUPPLY_CHARGE_FULL_DESIGN=7800000
+POWER_SUPPLY_CHARGE_NOW=2390000
+POWER_SUPPLY_NAME=hid-70:cd:60:f7:a0:5c-battery
+POWER_SUPPLY_PRESENT=1
+POWER_SUPPLY_ONLINE=1
+POWER_SUPPLY_MODEL_NAME=applemagictrackpad
+POWER_SUPPLY_STATUS=Discharging
+POWER_SUPPLY_SCOPE=Device