aboutsummaryrefslogtreecommitdiff
path: root/tests/test-timezones.cpp
diff options
context:
space:
mode:
authorRobert Tari <robert@tari.in>2021-07-16 21:52:08 +0200
committerRobert Tari <robert@tari.in>2021-07-21 02:02:47 +0200
commit217b48352a2591150413c77ca85b6a1ef158e6d5 (patch)
treed511ab0cc1854de03f09f915f57c6e7d518810dd /tests/test-timezones.cpp
parent7b495005c1998aaf148c17ceb4f5576835d87ba2 (diff)
downloadayatana-indicator-datetime-217b48352a2591150413c77ca85b6a1ef158e6d5.tar.gz
ayatana-indicator-datetime-217b48352a2591150413c77ca85b6a1ef158e6d5.tar.bz2
ayatana-indicator-datetime-217b48352a2591150413c77ca85b6a1ef158e6d5.zip
Fix failing tests
- include/actions-mock.h: Set return value to std::string and return an empty string - include/actions.h: Make open_alarm_app, open_appointment, open_calendar_app and open_settings_app return the uri/command - include/actions-live.h: Make open_alarm_app, open_appointment, open_calendar_app and open_settings_app return the uri/command - src/actions-live.cpp: Make open_alarm_app, open_appointment, open_calendar_app and open_settings_app return the uri/command - tests/test-live-actions.cpp: Drop last_cmd and last_url variables + use return values of actions-live functions for testing + test phone functions on lomiri only - tests/test-live-actions.cpp: test phone functions after setting XDG_CURRENT_DESKTOP - tests/test-settings.cpp: Use SETTINGS_NOTIFY_SCHEMA_ID only if it exists - tests/run-eds-ics-test.sh: Remove return statement - tests/CMakeLists.txt: Enable the timezone unit tests - tests/CMakeLists.txt: Catch race condition while attempting to copy schemas - tests/CMakeLists.txt: Exclude blocking tests on Travis for now - tests/tests-timezones.cpp: Use MockTimezone to construct LiveTimezones + drop section expecting changes after /timezone is modified (not monitored) - tests/test-formater: Change warning to plain message otherwise it can crash the test - .build.yml: Replace libmessaging-menu-dev with ayatana-indicator-messages Git build
Diffstat (limited to 'tests/test-timezones.cpp')
-rw-r--r--tests/test-timezones.cpp21
1 files changed, 4 insertions, 17 deletions
diff --git a/tests/test-timezones.cpp b/tests/test-timezones.cpp
index 362fcf7..7144aaf 100644
--- a/tests/test-timezones.cpp
+++ b/tests/test-timezones.cpp
@@ -18,10 +18,10 @@
*/
#include "geoclue-fixture.h"
-
+#include "timezone-mock.h"
#include <datetime/settings.h>
#include <datetime/timezones-live.h>
-
+#include <datetime/timezone-timedated.h>
#include <memory> // std::shared_ptr
#include <cstdio> // fopen()
@@ -53,7 +53,8 @@ TEST_F(TimezonesFixture, ManagerTest)
set_file(timezone_file);
auto settings = std::make_shared<Settings>();
- LiveTimezones z(settings, TIMEZONE_FILE);
+ auto timezone = std::make_shared<MockTimezone>(timezone_file);
+ LiveTimezones z(settings, timezone);
wait_msec(500); // wait for the bus to get set up
EXPECT_EQ(timezone_file, z.timezone.get());
auto zones = z.timezones.get();
@@ -105,20 +106,6 @@ TEST_F(TimezonesFixture, ManagerTest)
EXPECT_EQ(2, zones.size());
EXPECT_EQ(1, zones.count(timezone_file));
EXPECT_EQ(1, zones.count(timezone_geo));
-
- // now set the file value... this should change both the primary property and set property
- zone_changed = false;
- zones_changed = false;
- timezone_file = "America/Los_Angeles";
- EXPECT_EQ(0, zones.count(timezone_file));
- g_idle_add([](gpointer str) {set_file(static_cast<const char*>(str)); return G_SOURCE_REMOVE;}, const_cast<char*>(timezone_file.c_str()));
- g_main_loop_run(loop);
- EXPECT_TRUE(zone_changed);
- EXPECT_TRUE(zones_changed);
- EXPECT_EQ(timezone_file, z.timezone.get());
- EXPECT_EQ(2, zones.size());
- EXPECT_EQ(1, zones.count(timezone_file));
- EXPECT_EQ(1, zones.count(timezone_geo));
}