aboutsummaryrefslogtreecommitdiff
path: root/tests/test-menus.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-menus.cpp')
-rw-r--r--tests/test-menus.cpp38
1 files changed, 34 insertions, 4 deletions
diff --git a/tests/test-menus.cpp b/tests/test-menus.cpp
index de323d3..ea8cb30 100644
--- a/tests/test-menus.cpp
+++ b/tests/test-menus.cpp
@@ -186,7 +186,6 @@ private:
Appointment a1; // an alarm clock appointment
a1.color = "red";
- a1.summary = "Alarm";
a1.summary = "http://www.example.com/";
a1.uid = "example";
a1.type = Appointment::ALARM;
@@ -194,10 +193,9 @@ private:
Appointment a2; // a non-alarm appointment
a2.color = "green";
- a2.summary = "Other Text";
a2.summary = "http://www.monkey.com/";
a2.uid = "monkey";
- a1.type = Appointment::EVENT;
+ a2.type = Appointment::EVENT;
a2.begin = a2.end = tomorrow;
return std::vector<Appointment>({a1, a2});
@@ -274,12 +272,35 @@ private:
for (int i=0, n=appointments.size(); i<n; i++)
InspectAppointmentMenuItem(section, first_appt_index+i, appointments[i]);
+ // there shouldn't be any alarms when "show alarms" is false
+ bool has_alarms = false;
+ m_state->settings->show_alarms.set(false);
+ wait_msec();
+
+ std::vector<Appointment> display_appointments = Menu::get_display_appointments(appointments, m_state->clock->localtime(), 5, m_state->settings->show_alarms.get());
+ for (int i=0, n=display_appointments.size(); i<n; i++)
+ if ((has_alarms = display_appointments[i].is_alarm()))
+ break;
+
+ EXPECT_FALSE(has_alarms);
+
+ m_state->settings->show_alarms.set(true);
+ wait_msec();
+
+ display_appointments = Menu::get_display_appointments(appointments, m_state->clock->localtime(), 5, m_state->settings->show_alarms.get());
+ for (int i=0, n=display_appointments.size(); i<n; i++)
+ if ((has_alarms = display_appointments[i].is_alarm()))
+ break;
+
+ EXPECT_TRUE(has_alarms);
+
//g_clear_object(&section);
//g_clear_object(&submenu);
}
void InspectDesktopAppointments(GMenuModel* menu_model, bool can_open_planner)
{
+ m_state->settings->show_alarms.set(true);
const int n_add_event_buttons = can_open_planner ? 1 : 0;
// get the Appointments section
@@ -326,15 +347,24 @@ private:
void InspectPhoneAppointments(GMenuModel* menu_model, bool can_open_planner)
{
+ m_state->settings->show_alarms.set(true);
auto submenu = g_menu_model_get_item_link(menu_model, 0, G_MENU_LINK_SUBMENU);
+
+ // there shouldn't be any menuitems when "show events" is false
+ m_state->settings->show_events.set(false);
+ wait_msec();
+ auto section = g_menu_model_get_item_link(submenu, Menu::Appointments, G_MENU_LINK_SECTION);
+ EXPECT_EQ(0, g_menu_model_get_n_items(section));
+ g_clear_object(&section);
// clear all the appointments
std::vector<Appointment> appointments;
+ m_state->settings->show_events.set(true);
m_state->calendar_upcoming->appointments().set(appointments);
wait_msec(); // wait a moment for the menu to update
// check that there's a "clock app" menuitem even when there are no appointments
- auto section = g_menu_model_get_item_link(submenu, Menu::Appointments, G_MENU_LINK_SECTION);
+ section = g_menu_model_get_item_link(submenu, Menu::Appointments, G_MENU_LINK_SECTION);
const char* expected_action = "phone.open-alarm-app";
EXPECT_EQ(1, g_menu_model_get_n_items(section));
gchar* action = nullptr;