diff --git a/src/autotests/koeventpopupmenutest.h b/src/autotests/koeventpopupmenutest.h --- a/src/autotests/koeventpopupmenutest.h +++ b/src/autotests/koeventpopupmenutest.h @@ -34,8 +34,6 @@ private Q_SLOTS: void createEventFromTodo(); void createTodoFromEvent(); - void createEventFromEvent(); - void createTodoFromTodo(); void createNoteFromEvent(); void createNoteFromTodo(); void defaultMenuEventVisible(); diff --git a/src/autotests/koeventpopupmenutest.cpp b/src/autotests/koeventpopupmenutest.cpp --- a/src/autotests/koeventpopupmenutest.cpp +++ b/src/autotests/koeventpopupmenutest.cpp @@ -28,50 +28,24 @@ #include #include + KoEventPopupMenuTest::KoEventPopupMenuTest(QObject *parent) : QObject(parent) { QStandardPaths::setTestModeEnabled(true); + qputenv("LC_ALL", "C"); } -void KoEventPopupMenuTest::createEventFromEvent() -{ - Akonadi::ETMCalendar::Ptr calendar(new Akonadi::ETMCalendar()); - KOEventPopupMenu menu(nullptr); - - KCalendarCore::Event::Ptr event(new KCalendarCore::Event()); - Akonadi::Item item; - item.setMimeType(KCalendarCore::Event::eventMimeType()); - item.setPayload(event); - - menu.setCalendar(calendar); - menu.showIncidencePopup(item, QDate()); - QAction *createevent = menu.findChild(QStringLiteral("createevent")); - createevent->trigger(); - - IncidenceEditorNG::IncidenceDialog *dlg - = menu.findChild(QStringLiteral("incidencedialog")); - QVERIFY(!dlg); -} - -void KoEventPopupMenuTest::createTodoFromTodo() +static QAction *itemWithText(KOEventPopupMenu *m, const char *t) { - Akonadi::ETMCalendar::Ptr calendar(new Akonadi::ETMCalendar()); - KOEventPopupMenu menu(nullptr); - - KCalendarCore::Todo::Ptr todo(new KCalendarCore::Todo()); - Akonadi::Item item; - item.setMimeType(KCalendarCore::Todo::todoMimeType()); - item.setPayload(todo); - - menu.setCalendar(calendar); - menu.showIncidencePopup(item, QDate()); - QAction *createtodo = menu.findChild(QStringLiteral("createtodo")); - createtodo->trigger(); - - IncidenceEditorNG::IncidenceDialog *dlg - = menu.findChild(QStringLiteral("incidencedialog")); - QVERIFY(!dlg); + auto text = QString::fromLatin1(t); + auto items= m->findChildren(); + for (auto i : items) { + if (i->text() == text && i->isVisible() && i->isEnabled()) { + return i; + } + } + return nullptr; } void KoEventPopupMenuTest::createEventFromTodo() @@ -94,7 +68,8 @@ menu.setCalendar(calendar); menu.showIncidencePopup(item, QDate()); - QAction *createevent = menu.findChild(QStringLiteral("createevent")); + QAction *createevent = itemWithText(&menu, "Create Event from To-do"); + QVERIFY2(createevent, "menu item missing, invisible, or disabled"); createevent->trigger(); IncidenceEditorNG::IncidenceDialog *dlg = menu.findChild(); @@ -130,7 +105,8 @@ menu.setCalendar(calendar); menu.showIncidencePopup(item, QDate()); - QAction *createtodo = menu.findChild(QStringLiteral("createtodo")); + QAction *createtodo = itemWithText(&menu, "Create To-do from Event"); + QVERIFY2(createtodo, "menu item missing, invisible, or disabled"); createtodo->trigger(); IncidenceEditorNG::IncidenceDialog *dlg = menu.findChild(); @@ -168,7 +144,8 @@ menu.setCalendar(calendar); menu.showIncidencePopup(item, QDate()); - QAction *createnote = menu.findChild(QStringLiteral("createnote")); + QAction *createnote = itemWithText(&menu, "Create Note for Event"); + QVERIFY2(createnote, "menu item missing, invisible, or disabled"); CalendarSupport::NoteEditDialog *noteedit = menu.findChild(); QVERIFY(!noteedit); createnote->trigger(); @@ -206,7 +183,8 @@ menu.setCalendar(calendar); menu.showIncidencePopup(item, QDate()); - QAction *createnote = menu.findChild(QStringLiteral("createnote")); + QAction *createnote = itemWithText(&menu, "Create Note for To-do"); + QVERIFY2(createnote, "menu item missing, invisible, or disabled"); CalendarSupport::NoteEditDialog *noteedit = menu.findChild(); QVERIFY(!noteedit); @@ -234,12 +212,21 @@ menu.setCalendar(calendar); menu.showIncidencePopup(item, QDate()); - QAction *createevent = menu.findChild(QStringLiteral("createevent")); - QAction *createnote = menu.findChild(QStringLiteral("createnote")); - QAction *createtodo = menu.findChild(QStringLiteral("createtodo")); - QVERIFY(!createevent->isVisible()); - QVERIFY(createnote->isVisible()); - QVERIFY(createtodo->isVisible()); + QVERIFY2(itemWithText(&menu, "&Show"), "'Show' menu item missing, invisible, or disabled"); + QVERIFY2(itemWithText(&menu, "&Edit..."), "'Edit' menu item missing, invisible, or disabled"); + QVERIFY2(itemWithText(&menu, "&Delete"), "'Delete' menu item missing, invisible, or disabled"); + QVERIFY2(itemWithText(&menu, "&Print..."), "'Print' menu item missing, invisible, or disabled"); + QVERIFY2(itemWithText(&menu, "Print Previe&w..."), + "'Print Preview' menu item missing, invisible, or disabled"); + + QVERIFY2(itemWithText(&menu, "C&ut"), "'Cut' menu item missing, invisible, or disabled"); + QVERIFY2(itemWithText(&menu, "&Copy"), "'&Copy' menu item missing, invisible, or disabled"); + QVERIFY2(itemWithText(&menu, "&Paste"), "'Paste' menu item missing, invisible, or disabled"); + + QVERIFY2(itemWithText(&menu, "&Toggle Reminder On"), + "'Toggle Reminder' menu item missing, invisible, or disabled"); + QVERIFY2(itemWithText(&menu, "Email as iCalendar..."), + "'Email as iCalendar' menu item missing, invisible, or disabled"); } void KoEventPopupMenuTest::defaultMenuTodoVisible() @@ -255,12 +242,21 @@ menu.setCalendar(calendar); menu.showIncidencePopup(item, QDate()); - QAction *createevent = menu.findChild(QStringLiteral("createevent")); - QAction *createnote = menu.findChild(QStringLiteral("createnote")); - QAction *createtodo = menu.findChild(QStringLiteral("createtodo")); - QVERIFY(createevent->isVisible()); - QVERIFY(createnote->isVisible()); - QVERIFY(!createtodo->isVisible()); + QVERIFY2(itemWithText(&menu, "&Show"), "'Show' menu item missing, invisible, or disabled"); + QVERIFY2(itemWithText(&menu, "&Edit..."), "'Edit' menu item missing, invisible, or disabled"); + QVERIFY2(itemWithText(&menu, "&Delete"), "'Delete' menu item missing, invisible, or disabled"); + QVERIFY2(itemWithText(&menu, "&Print..."), "'Print' menu item missing, invisible, or disabled"); + QVERIFY2(itemWithText(&menu, "Print Previe&w..."), + "'Print Preview' menu item missing, invisible, or disabled"); + + QVERIFY2(itemWithText(&menu, "C&ut"), "'Cut' menu item missing, invisible, or disabled"); + QVERIFY2(itemWithText(&menu, "&Copy"), "'&Copy' menu item missing, invisible, or disabled"); + QVERIFY2(itemWithText(&menu, "&Paste"), "'Paste' menu item missing, invisible, or disabled"); + + QVERIFY2(itemWithText(&menu, "&Toggle Reminder On"), + "'Toggle Reminder' menu item missing, invisible, or disabled"); + QVERIFY2(itemWithText(&menu, "Email as iCalendar..."), + "'Email as iCalendar' menu item missing, invisible, or disabled"); } QTEST_MAIN(KoEventPopupMenuTest)