diff options
Diffstat (limited to 'tests/test-menus.cpp')
-rw-r--r-- | tests/test-menus.cpp | 38 |
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(§ion); //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(§ion); // 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; |