aboutsummaryrefslogtreecommitdiff
path: root/tests/test-snap.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-snap.cpp')
-rw-r--r--tests/test-snap.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/tests/test-snap.cpp b/tests/test-snap.cpp
index f06e4da..7277b48 100644
--- a/tests/test-snap.cpp
+++ b/tests/test-snap.cpp
@@ -621,11 +621,16 @@ TEST_F(SnapFixture,DefaultSounds)
TEST_F(SnapFixture,Notification)
{
+ // Feed different combinations of system settings,
+ // indicator-datetime settings, and event types,
+ // then see if notifications and haptic feedback behave as expected.
+
auto settings = std::make_shared<Settings>();
auto ne = std::make_shared<ayatana::indicator::notifications::Engine>(APP_NAME);
auto sb = std::make_shared<ayatana::indicator::notifications::DefaultSoundBuilder>();
auto func = [this](const Appointment&, const Alarm&){g_idle_add(quit_idle, loop);};
+ // combinatorial factor #1: event type
struct {
Appointment appt;
bool expected_notify_called;
@@ -635,6 +640,7 @@ TEST_F(SnapFixture,Notification)
{ ualarm, true, true }
};
+ // combinatorial factor #2: indicator-datetime's haptic mode
struct {
const char* haptic_mode;
bool expected_notify_called;
@@ -644,8 +650,9 @@ TEST_F(SnapFixture,Notification)
{ "pulse", true, true }
};
+ // combinatorial factor #3: system settings' "other vibrations" enabled
struct {
- bool other_vibrations; // the com.lomiri.touch.AccountsService.Sound "other vibrations" setting
+ bool other_vibrations;
bool expected_notify_called;
bool expected_vibrate_called;
} test_other_vibrations[] = {
@@ -653,6 +660,7 @@ TEST_F(SnapFixture,Notification)
{ false, true, false }
};
+ // combinatorial factor #4: system settings' notifications app blacklist
const std::set<std::pair<std::string,std::string>> blacklist_calendar { std::make_pair(std::string{"com.lomiri.calendar"}, std::string{"calendar-app"}) };
const std::set<std::pair<std::string,std::string>> blacklist_empty;
struct {
@@ -684,13 +692,6 @@ TEST_F(SnapFixture,Notification)
&& test_muted.expected_vibrate_called
&& test_haptic.expected_vibrate_called;
-g_message("appt:%s", test_appt.appt.summary.c_str());
-g_message("haptic_mode:%s", test_haptic.haptic_mode);
-g_message("other_vibrations:%d", (int)test_vibes.other_vibrations);
-g_message("muted_apps.size():%d", (int)test_muted.muted_apps.size());
-g_message("expected_notify_called %d (%d %d %d %d)", (int)expected_notify_called, (int)test_appt.expected_notify_called, (int)test_vibes.expected_notify_called, (int)test_muted.expected_notify_called, (int)test_haptic.expected_notify_called);
-g_message("expected_vibrate_called %d (%d %d %d %d)", (int)expected_vibrate_called, (int)test_appt.expected_vibrate_called, (int)test_vibes.expected_vibrate_called, (int)test_muted.expected_vibrate_called, (int)test_haptic.expected_vibrate_called);
-
// clear out any previous iterations' noise
GError * error = nullptr;
dbus_test_dbus_mock_object_clear_method_calls(haptic_mock, haptic_obj, &error);
@@ -707,11 +708,11 @@ g_message("expected_vibrate_called %d (%d %d %d %d)", (int)expected_vibrate_call
g_variant_new_boolean(test_vibes.other_vibrations),
&error);
g_assert_no_error(error);
- wait_msec(200);
+ wait_msec(100);
// run the test
(*snap)(appt, appt.alarms.front(), func, func);
- wait_msec(200);
+ wait_msec(100);
// test that the notification was as expected
const bool notify_called = dbus_test_dbus_mock_object_check_method_call(notify_mock,