diff options
author | Charles Kerr <charles.kerr@canonical.com> | 2013-06-17 18:01:51 -0500 |
---|---|---|
committer | Charles Kerr <charles.kerr@canonical.com> | 2013-06-17 18:01:51 -0500 |
commit | bef4229b70139014df071ecba3742e99639dac42 (patch) | |
tree | 3fa4a74f0aa3bb4d18505e52511ba35bdcdbcf72 /tests/test-indicator.cc | |
parent | b3a23dc2556cfde8a7d6f4262a21a28a5faafdbe (diff) | |
download | ayatana-indicator-power-bef4229b70139014df071ecba3742e99639dac42.tar.gz ayatana-indicator-power-bef4229b70139014df071ecba3742e99639dac42.tar.bz2 ayatana-indicator-power-bef4229b70139014df071ecba3742e99639dac42.zip |
get test-devices building and passing again.
Diffstat (limited to 'tests/test-indicator.cc')
-rw-r--r-- | tests/test-indicator.cc | 325 |
1 files changed, 0 insertions, 325 deletions
diff --git a/tests/test-indicator.cc b/tests/test-indicator.cc deleted file mode 100644 index 6fd9bf7..0000000 --- a/tests/test-indicator.cc +++ /dev/null @@ -1,325 +0,0 @@ -/* -Copyright 2012 Canonical Ltd. - -Authors: - Charles Kerr <charles.kerr@canonical.com> - -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 -by the Free Software Foundation. - -This program is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranties of -MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR -PURPOSE. See the GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along -with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#include <gtest/gtest.h> - -#include "dbus-listener.h" -#include "device.h" -#include "indicator-power.h" - -/*** -**** -***/ - -namespace -{ - void quiet_log_func (const gchar *log_domain, - GLogLevelFlags log_level, - const gchar *message, - gpointer user_data) - { - // instantiating an indicator w/o a window causes lots - // of glib/gtk warnings... silence them so that they don't - // obscure any other warnings generated by the tests. - } - - void ensure_glib_initialized () - { - static bool initialized = false; - - if (G_UNLIKELY(!initialized)) - { - initialized = true; - g_log_set_handler ("Gtk", (GLogLevelFlags)(G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING), quiet_log_func, NULL); - g_log_set_handler ("GLib-GObject", (GLogLevelFlags)(G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING), quiet_log_func, NULL); - } - } -} - -/*** -**** -***/ - -class IndicatorTest : public ::testing::Test -{ - protected: - - IndicatorPowerDevice * ac_device; - IndicatorPowerDevice * battery_device; - - virtual void SetUp() - { - ensure_glib_initialized (); - - g_setenv( "GSETTINGS_SCHEMA_DIR", SCHEMA_DIR, TRUE); - - ac_device = indicator_power_device_new ( - "/org/freedesktop/UPower/devices/line_power_AC", - UP_DEVICE_KIND_LINE_POWER, - 0.0, UP_DEVICE_STATE_UNKNOWN, 0); - - battery_device = indicator_power_device_new ( - "/org/freedesktop/UPower/devices/battery_BAT0", - UP_DEVICE_KIND_BATTERY, - 52.871712, UP_DEVICE_STATE_DISCHARGING, 8834); - } - - virtual void TearDown() - { - ASSERT_EQ (1, G_OBJECT(battery_device)->ref_count); - ASSERT_EQ (1, G_OBJECT(ac_device)->ref_count); - g_object_unref (battery_device); - g_object_unref (ac_device); - } - - const char* GetAccessibleDesc (IndicatorPower * power) const - { - GList * entries = indicator_object_get_entries (INDICATOR_OBJECT(power)); - g_assert (g_list_length(entries) == 1); - IndicatorObjectEntry * entry = static_cast<IndicatorObjectEntry*>(entries->data); - const char * ret = entry->accessible_desc; - g_list_free (entries); - return ret; - } -}; - -/*** -**** -***/ - -TEST_F(IndicatorTest, GObjectNew) -{ - GObject * o = G_OBJECT (g_object_new (INDICATOR_POWER_TYPE, NULL)); - ASSERT_TRUE (o != NULL); - ASSERT_TRUE (IS_INDICATOR_POWER(o)); - g_object_run_dispose (o); // used to get coverage of both branches in the object's dispose func's g_clear_*() calls - g_object_unref (o); -} - -TEST_F(IndicatorTest, SetDevices) -{ - GSList * devices; - IndicatorPower * power = INDICATOR_POWER(g_object_new (INDICATOR_POWER_TYPE, NULL)); - - devices = NULL; - devices = g_slist_append (devices, ac_device); - devices = g_slist_append (devices, battery_device); - indicator_power_set_devices (power, devices); - g_slist_free (devices); - - g_object_unref (power); -} - -TEST_F(IndicatorTest, DischargingStrings) -{ - IndicatorPower * power = INDICATOR_POWER(g_object_new (INDICATOR_POWER_TYPE, NULL)); - GSList * devices = g_slist_append (NULL, battery_device); - - // give the indicator a discharging battery with 30 minutes of life left - g_object_set (battery_device, - INDICATOR_POWER_DEVICE_STATE, UP_DEVICE_STATE_DISCHARGING, - INDICATOR_POWER_DEVICE_PERCENTAGE, 50.0, - INDICATOR_POWER_DEVICE_TIME, guint64(60*30), - NULL); - indicator_power_set_devices (power, devices); - ASSERT_STREQ (GetAccessibleDesc(power), "Battery (30 minutes left (50%))"); - - // give the indicator a discharging battery with 1 hour of life left - g_object_set (battery_device, - INDICATOR_POWER_DEVICE_STATE, UP_DEVICE_STATE_DISCHARGING, - INDICATOR_POWER_DEVICE_PERCENTAGE, 50.0, - INDICATOR_POWER_DEVICE_TIME, guint64(60*60), - NULL); - indicator_power_set_devices (power, devices); - ASSERT_STREQ (GetAccessibleDesc(power), "Battery (1 hour left (50%))"); - - // give the indicator a discharging battery with 2 hours of life left - g_object_set (battery_device, - INDICATOR_POWER_DEVICE_PERCENTAGE, 100.0, - INDICATOR_POWER_DEVICE_TIME, guint64(60*60*2), - NULL); - indicator_power_set_devices (power, devices); - ASSERT_STREQ (GetAccessibleDesc(power), "Battery (2 hours left (100%))"); - - // give the indicator a discharging battery with over 12 hours of life left - g_object_set (battery_device, - INDICATOR_POWER_DEVICE_TIME, guint64(60*60*12 + 1), - NULL); - indicator_power_set_devices (power, devices); - ASSERT_STREQ (GetAccessibleDesc(power), "Battery"); - - // give the indicator a discharging battery with 29 seconds left - g_object_set (battery_device, - INDICATOR_POWER_DEVICE_TIME, guint64(29), - NULL); - indicator_power_set_devices (power, devices); - ASSERT_STREQ (GetAccessibleDesc(power), "Battery (Unknown time left (100%))"); - - // what happens if the time estimate isn't available - g_object_set (battery_device, - INDICATOR_POWER_DEVICE_TIME, guint64(0), - INDICATOR_POWER_DEVICE_PERCENTAGE, 50.0, - NULL); - indicator_power_set_devices (power, devices); - ASSERT_STREQ (GetAccessibleDesc(power), "Battery (50%)"); - - // what happens if the time estimate AND percentage isn't available - g_object_set (battery_device, - INDICATOR_POWER_DEVICE_TIME, guint64(0), - INDICATOR_POWER_DEVICE_PERCENTAGE, 0.0, - NULL); - indicator_power_set_devices (power, devices); - ASSERT_STREQ (GetAccessibleDesc(power), "Battery (not present)"); - - // cleanup - g_slist_free (devices); - g_object_unref (power); -} - -TEST_F(IndicatorTest, ChargingStrings) -{ - IndicatorPower * power = INDICATOR_POWER(g_object_new (INDICATOR_POWER_TYPE, NULL)); - GSList * devices = g_slist_prepend (NULL, battery_device); - - // give the indicator a discharging battery with 1 hour of life left - g_object_set (battery_device, - INDICATOR_POWER_DEVICE_STATE, UP_DEVICE_STATE_CHARGING, - INDICATOR_POWER_DEVICE_PERCENTAGE, 50.0, - INDICATOR_POWER_DEVICE_TIME, guint64(60*60), - NULL); - indicator_power_set_devices (power, devices); - ASSERT_STREQ (GetAccessibleDesc(power), "Battery (1 hour to charge (50%))"); - - // give the indicator a discharging battery with 2 hours of life left - g_object_set (battery_device, - INDICATOR_POWER_DEVICE_TIME, guint64(60*60*2), - NULL); - indicator_power_set_devices (power, devices); - ASSERT_STREQ (GetAccessibleDesc(power), "Battery (2 hours to charge (50%))"); - - // cleanup - g_slist_free (devices); - g_object_unref (power); -} - -TEST_F(IndicatorTest, ChargedStrings) -{ - IndicatorPower * power = INDICATOR_POWER(g_object_new (INDICATOR_POWER_TYPE, NULL)); - GSList * devices = g_slist_append (NULL, battery_device); - - // give the indicator a discharging battery with 1 hour of life left - g_object_set (battery_device, - INDICATOR_POWER_DEVICE_STATE, UP_DEVICE_STATE_FULLY_CHARGED, - INDICATOR_POWER_DEVICE_PERCENTAGE, 100.0, - INDICATOR_POWER_DEVICE_TIME, guint64(0), - NULL); - indicator_power_set_devices (power, devices); - ASSERT_STREQ (GetAccessibleDesc(power), "Battery (charged)"); - - // cleanup - g_slist_free (devices); - g_object_unref (power); -} - -TEST_F(IndicatorTest, AvoidChargingBatteriesWithZeroSecondsLeft) -{ - IndicatorPower * power = INDICATOR_POWER(g_object_new (INDICATOR_POWER_TYPE, NULL)); - - g_object_set (battery_device, - INDICATOR_POWER_DEVICE_STATE, UP_DEVICE_STATE_FULLY_CHARGED, - INDICATOR_POWER_DEVICE_PERCENTAGE, 100.0, - INDICATOR_POWER_DEVICE_TIME, guint64(0), - NULL); - IndicatorPowerDevice * bad_battery_device = indicator_power_device_new ( - "/org/freedesktop/UPower/devices/battery_BAT0", - UP_DEVICE_KIND_BATTERY, - 53, UP_DEVICE_STATE_CHARGING, 0); - - GSList * devices = NULL; - devices = g_slist_append (devices, battery_device); - devices = g_slist_append (devices, bad_battery_device); - indicator_power_set_devices (power, devices); - ASSERT_STREQ (GetAccessibleDesc(power), "Battery (53%)"); - - // cleanup - g_slist_free (devices); - g_object_unref (power); - g_object_unref (bad_battery_device); -} - -TEST_F(IndicatorTest, OtherDevices) -{ - IndicatorPower * power = INDICATOR_POWER(g_object_new (INDICATOR_POWER_TYPE, NULL)); - - g_object_ref (battery_device); - GSList * devices = g_slist_append (NULL, battery_device); - - devices = g_slist_append (devices, indicator_power_device_new ( - "/org/freedesktop/UPower/devices/mouse", UP_DEVICE_KIND_MOUSE, - 0, UP_DEVICE_STATE_UNKNOWN, 0)); - devices = g_slist_append (devices, indicator_power_device_new ( - "/org/freedesktop/UPower/devices/ups", UP_DEVICE_KIND_UPS, - 0, UP_DEVICE_STATE_UNKNOWN, 0)); - devices = g_slist_append (devices, indicator_power_device_new ( - "/org/freedesktop/UPower/devices/keyboard", UP_DEVICE_KIND_KEYBOARD, - 0, UP_DEVICE_STATE_UNKNOWN, 0)); - devices = g_slist_append (devices, indicator_power_device_new ( - "/org/freedesktop/UPower/devices/pda", UP_DEVICE_KIND_PDA, - 0, UP_DEVICE_STATE_UNKNOWN, 0)); - devices = g_slist_append (devices, indicator_power_device_new ( - "/org/freedesktop/UPower/devices/phone", UP_DEVICE_KIND_PHONE, - 0, UP_DEVICE_STATE_UNKNOWN, 0)); - devices = g_slist_append (devices, indicator_power_device_new ( - "/org/freedesktop/UPower/devices/monitor", UP_DEVICE_KIND_MONITOR, - 0, UP_DEVICE_STATE_UNKNOWN, 0)); - devices = g_slist_append (devices, indicator_power_device_new ( - "/org/freedesktop/UPower/devices/media_player", UP_DEVICE_KIND_MEDIA_PLAYER, - 0, UP_DEVICE_STATE_UNKNOWN, 0)); - devices = g_slist_append (devices, indicator_power_device_new ( - "/org/freedesktop/UPower/devices/tablet", UP_DEVICE_KIND_TABLET, - 0, UP_DEVICE_STATE_UNKNOWN, 0)); - devices = g_slist_append (devices, indicator_power_device_new ( - "/org/freedesktop/UPower/devices/computer", UP_DEVICE_KIND_COMPUTER, - 0, UP_DEVICE_STATE_UNKNOWN, 0)); - devices = g_slist_append (devices, indicator_power_device_new ( - "/org/freedesktop/UPower/devices/unknown", UP_DEVICE_KIND_UNKNOWN, - 0, UP_DEVICE_STATE_UNKNOWN, 0)); - - indicator_power_set_devices (power, devices); - - // FIXME: this tests to confirm the code doesn't crash, - // but further tests would be helpful - - // cleanup - g_slist_free_full (devices, g_object_unref); - g_object_unref (power); -} - -TEST_F(IndicatorTest, NoDevices) -{ - IndicatorPower * power = INDICATOR_POWER(g_object_new (INDICATOR_POWER_TYPE, NULL)); - - indicator_power_set_devices (power, NULL); - - // FIXME: this tests to confirm the code doesn't crash, - // but further tests would be helpful - - // cleanup - g_object_unref (power); -} |