aboutsummaryrefslogtreecommitdiff
path: root/tests/test-device.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-device.cc')
-rw-r--r--tests/test-device.cc103
1 files changed, 55 insertions, 48 deletions
diff --git a/tests/test-device.cc b/tests/test-device.cc
index 7154fcd..f2d4b8f 100644
--- a/tests/test-device.cc
+++ b/tests/test-device.cc
@@ -1,6 +1,6 @@
/*
* Copyright 2012-2016 Canonical Ltd.
- * Copyright 2022 Robert Tari
+ * Copyright 2022-2023 Robert Tari
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 3, as published
@@ -83,7 +83,7 @@ class DeviceTest : public ::testing::Test
void check_label (const IndicatorPowerDevice * device,
const char * expected_label)
{
- char * label = indicator_power_device_get_readable_text (device);
+ char * label = indicator_power_device_get_readable_text (device, FALSE);
EXPECT_STREQ (expected_label, label);
g_free (label);
}
@@ -205,6 +205,7 @@ TEST_F(DeviceTest, New)
{
IndicatorPowerDevice * device = indicator_power_device_new ("/object/path",
UP_DEVICE_KIND_BATTERY,
+ "Some Model",
50.0,
UP_DEVICE_STATE_CHARGING,
30,
@@ -212,6 +213,7 @@ TEST_F(DeviceTest, New)
ASSERT_TRUE (device != NULL);
ASSERT_TRUE (INDICATOR_IS_POWER_DEVICE(device));
ASSERT_EQ (UP_DEVICE_KIND_BATTERY, indicator_power_device_get_kind(device));
+ ASSERT_STREQ ("Some Model", indicator_power_device_get_model(device));
ASSERT_EQ (UP_DEVICE_STATE_CHARGING, indicator_power_device_get_state(device));
ASSERT_STREQ ("/object/path", indicator_power_device_get_object_path(device));
ASSERT_EQ (50, int(indicator_power_device_get_percentage(device)));
@@ -224,9 +226,10 @@ TEST_F(DeviceTest, New)
TEST_F(DeviceTest, NewFromVariant)
{
- auto variant = g_variant_new("(susdutb)",
+ auto variant = g_variant_new("(sussdutb)",
"/object/path",
guint32(UP_DEVICE_KIND_BATTERY),
+ "Some Model",
"icon",
50.0,
guint32(UP_DEVICE_STATE_CHARGING),
@@ -237,6 +240,7 @@ TEST_F(DeviceTest, NewFromVariant)
ASSERT_TRUE (device != NULL);
ASSERT_TRUE (INDICATOR_IS_POWER_DEVICE(device));
ASSERT_EQ (UP_DEVICE_KIND_BATTERY, indicator_power_device_get_kind(device));
+ ASSERT_STREQ ("Some Model", indicator_power_device_get_model(device));
ASSERT_EQ (UP_DEVICE_STATE_CHARGING, indicator_power_device_get_state(device));
ASSERT_STREQ ("/object/path", indicator_power_device_get_object_path(device));
ASSERT_EQ (50, int(indicator_power_device_get_percentage(device)));
@@ -841,8 +845,10 @@ namespace
{
std::ostringstream o;
const auto path = indicator_power_device_get_object_path(device);
+ const gchar *model = indicator_power_device_get_model(device);
o << kind2str(indicator_power_device_get_kind(device))
+ << ' ' << (model ? model : "noname")
<< ' ' << state2str(indicator_power_device_get_state(device))
<< ' ' << indicator_power_device_get_time(device)<<'m'
<< ' ' << int(ceil(indicator_power_device_get_percentage(device)))<<'%'
@@ -855,14 +861,15 @@ namespace
IndicatorPowerDevice* str2device(const std::string& str)
{
auto tokens = g_strsplit(str.c_str(), " ", 0);
- g_assert(6u == g_strv_length(tokens));
+ g_assert(7u == g_strv_length(tokens));
const auto kind = str2kind(tokens[0]);
- const auto state = str2state(tokens[1]);
- const time_t time = atoi(tokens[2]);
- const double pct = strtod(tokens[3],nullptr);
- const char* path = !g_strcmp0(tokens[4],"nopath") ? nullptr : tokens[4];
- const gboolean power_supply = atoi(tokens[5]);
- auto ret = indicator_power_device_new(path, kind, pct, state, time, power_supply);
+ const char* model = !g_strcmp0(tokens[1],"noname") ? nullptr : tokens[1];
+ const auto state = str2state(tokens[2]);
+ const time_t time = atoi(tokens[3]);
+ const double pct = strtod(tokens[4],nullptr);
+ const char* path = !g_strcmp0(tokens[5],"nopath") ? nullptr : tokens[5];
+ const gboolean power_supply = atoi(tokens[6]);
+ auto ret = indicator_power_device_new(path, kind, model, pct, state, time, power_supply);
g_strfreev(tokens);
return ret;
}
@@ -885,100 +892,100 @@ TEST_F(DeviceTest, ChoosePrimary)
} tests[] = {
{
"one discharging battery",
- "battery discharging 10m 60% bat01 1",
- { "battery discharging 10m 60% bat01 1" }
+ "battery noname discharging 10m 60% bat01 1",
+ { "battery noname discharging 10m 60% bat01 1" }
},
{
"merge two discharging batteries",
- "battery discharging 20m 70% nopath 1",
- { "battery discharging 10m 60% bat01 1", "battery discharging 20m 80% bat02 1" }
+ "battery noname discharging 20m 70% nopath 1",
+ { "battery noname discharging 10m 60% bat01 1", "battery noname discharging 20m 80% bat02 1" }
},
{
"merge two other discharging batteries",
- "battery discharging 30m 90% nopath 1",
- { "battery discharging 20m 80% bat01 1", "battery discharging 30m 100% bat02 1" }
+ "battery noname discharging 30m 90% nopath 1",
+ { "battery noname discharging 20m 80% bat01 1", "battery noname discharging 30m 100% bat02 1" }
},
{
"merge three discharging batteries",
- "battery discharging 30m 80% nopath 1",
- { "battery discharging 10m 60% bat01 1", "battery discharging 20m 80% bat02 1", "battery discharging 30m 100% bat03 1" }
+ "battery noname discharging 30m 80% nopath 1",
+ { "battery noname discharging 10m 60% bat01 1", "battery noname discharging 20m 80% bat02 1", "battery noname discharging 30m 100% bat03 1" }
},
{
"one charging battery",
- "battery charging 10m 60% bat01 1",
- { "battery charging 10m 60% bat01 1" }
+ "battery noname charging 10m 60% bat01 1",
+ { "battery noname charging 10m 60% bat01 1" }
},
{
"merge two charging batteries",
- "battery charging 20m 70% nopath 1",
- { "battery charging 10m 60% bat01 1", "battery charging 20m 80% bat02 1" }
+ "battery noname charging 20m 70% nopath 1",
+ { "battery noname charging 10m 60% bat01 1", "battery noname charging 20m 80% bat02 1" }
},
{
"merge two other charging batteries",
- "battery charging 30m 90% nopath 1",
- { "battery charging 20m 80% bat01 1", "battery charging 30m 100% bat02 1" }
+ "battery noname charging 30m 90% nopath 1",
+ { "battery noname charging 20m 80% bat01 1", "battery noname charging 30m 100% bat02 1" }
},
{
"merge three charging batteries",
- "battery charging 30m 80% nopath 1",
- { "battery charging 10m 60% bat01 1", "battery charging 20m 80% bat02 1", "battery charging 30m 100% bat03 1" }
+ "battery noname charging 30m 80% nopath 1",
+ { "battery noname charging 10m 60% bat01 1", "battery noname charging 20m 80% bat02 1", "battery noname charging 30m 100% bat03 1" }
},
{
"one charged battery",
- "battery charged 0m 100% bat01 1",
- { "battery charged 0m 100% bat01 1" }
+ "battery noname charged 0m 100% bat01 1",
+ { "battery noname charged 0m 100% bat01 1" }
},
{
"merge one charged, one discharging",
- "battery discharging 10m 80% nopath 1",
- { "battery charged 0m 100% bat01 1", "battery discharging 10m 60% bat02 1" }
+ "battery noname discharging 10m 80% nopath 1",
+ { "battery noname charged 0m 100% bat01 1", "battery noname discharging 10m 60% bat02 1" }
},
{
"merged one charged, one charging",
- "battery charging 10m 80% nopath 1",
- { "battery charged 0m 100% bat01 1", "battery charging 10m 60% bat02 1" }
+ "battery noname charging 10m 80% nopath 1",
+ { "battery noname charged 0m 100% bat01 1", "battery noname charging 10m 60% bat02 1" }
},
{
"merged one charged, one charging, one discharging",
- "battery discharging 10m 74% nopath 1",
- { "battery charged 0m 100% bat01 1", "battery charging 10m 60% bat02 1", "battery discharging 10m 60% bat03 1" }
+ "battery noname discharging 10m 74% nopath 1",
+ { "battery noname charged 0m 100% bat01 1", "battery noname charging 10m 60% bat02 1", "battery noname discharging 10m 60% bat03 1" }
},
{
"one discharging mouse and one discharging battery. ignore mouse because it doesn't supply the power",
- "battery discharging 10m 60% bat01 1",
- { "battery discharging 10m 60% bat01 1", "mouse discharging 20m 80% mouse01 0" }
+ "battery noname discharging 10m 60% bat01 1",
+ { "battery noname discharging 10m 60% bat01 1", "mouse noname discharging 20m 80% mouse01 0" }
},
{
"one discharging mouse and a different discharging battery. ignore mouse because it doesn't supply the power",
- "battery discharging 30m 100% bat01 1",
- { "battery discharging 30m 100% bat01 1", "mouse discharging 20m 80% mouse01 0" }
+ "battery noname discharging 30m 100% bat01 1",
+ { "battery noname discharging 30m 100% bat01 1", "mouse noname discharging 20m 80% mouse01 0" }
},
{
"everything comes before power lines #1",
- "battery discharging 10m 60% bat01 1",
- { "battery discharging 10m 60% bat01 1", "line-power unknown 0m 0% lp01 1" }
+ "battery noname discharging 10m 60% bat01 1",
+ { "battery noname discharging 10m 60% bat01 1", "line-power noname unknown 0m 0% lp01 1" }
},
{
"everything comes before power lines #2",
- "battery charging 10m 60% bat01 1",
- { "battery charging 10m 60% bat01 1", "line-power unknown 0m 0% lp01 1" }
+ "battery noname charging 10m 60% bat01 1",
+ { "battery noname charging 10m 60% bat01 1", "line-power noname unknown 0m 0% lp01 1" }
},
{
"everything comes before power lines #3 except that the mouse doesn't supply the power",
- "line-power unknown 0m 0% lp01 1",
- { "mouse discharging 20m 80% mouse01 0", "line-power unknown 0m 0% lp01 1" }
+ "line-power noname unknown 0m 0% lp01 1",
+ { "mouse noname discharging 20m 80% mouse01 0", "line-power noname unknown 0m 0% lp01 1" }
},
{
// https://bugs.launchpad.net/ubuntu/+source/indicator-power/+bug/1470080/comments/10
"don't select a device with unknown state when we have another device with a known state...",
- "battery charged 0m 100% bat01 1",
- { "battery charged 0m 100% bat01 1", "phone unknown 0m 61% phone01 1" }
+ "battery noname charged 0m 100% bat01 1",
+ { "battery noname charged 0m 100% bat01 1", "phone noname unknown 0m 61% phone01 1" }
},
{
// https://bugs.launchpad.net/ubuntu/+source/indicator-power/+bug/1470080/comments/10
"...but do select the unknown state device if nothing else is available",
- "phone unknown 0m 61% phone01 1",
- { "phone unknown 0m 61% phone01 1" }
+ "phone noname unknown 0m 61% phone01 1",
+ { "phone noname unknown 0m 61% phone01 1" }
}
};