diff --git a/src/tests/TestUtils.hpp b/src/tests/TestUtils.hpp index a6372a86a..ba8a91c33 100644 --- a/src/tests/TestUtils.hpp +++ b/src/tests/TestUtils.hpp @@ -27,8 +27,8 @@ #define CHECK_VIRTUAL_WINDOW_CONTENT_INFO(WINDOW, TYPE, NAME) \ do { \ - QQuickItem *virtualWindowContent = TestUtils::getVirtualWindowContent(WINDOW); \ - QVERIFY(virtualWindowContent); \ + QQuickItem *virtualWindowContent; \ + QTRY_VERIFY_WITH_TIMEOUT(virtualWindowContent = TestUtils::getVirtualWindowContent(WINDOW), 1000); \ QVERIFY(!strncmp(virtualWindowContent->metaObject()->className(), TYPE, sizeof TYPE - 1)); \ QCOMPARE(virtualWindowContent->objectName(), QStringLiteral(NAME)); \ } while (0) diff --git a/src/tests/main-view/MainViewTest.cpp b/src/tests/main-view/MainViewTest.cpp index be81e03d0..4aa068f73 100644 --- a/src/tests/main-view/MainViewTest.cpp +++ b/src/tests/main-view/MainViewTest.cpp @@ -34,15 +34,12 @@ void MainViewTest::showAboutPopup () { // Open popup. TestUtils::executeKeySequence(mainWindow, QKeySequence::HelpContents); - QTest::qWait(1000); CHECK_VIRTUAL_WINDOW_CONTENT_INFO(mainWindow, "DialogPlus_QMLTYPE_", "__about"); // Close popup. QTest::mouseClick(mainWindow, Qt::LeftButton, Qt::KeyboardModifiers(), QPoint(476, 392)); - QTest::qWait(1000); - - QVERIFY(!TestUtils::getVirtualWindowContent(mainWindow)); + QTRY_VERIFY_WITH_TIMEOUT(!TestUtils::getVirtualWindowContent(mainWindow), 1000); } void MainViewTest::showManageAccountsPopup () { @@ -50,13 +47,24 @@ void MainViewTest::showManageAccountsPopup () { // Open popup. QTest::mouseClick(mainWindow, Qt::LeftButton, Qt::KeyboardModifiers(), QPoint(100, 35)); - QTest::qWait(1000); CHECK_VIRTUAL_WINDOW_CONTENT_INFO(mainWindow, "DialogPlus_QMLTYPE_", "__manageAccounts"); // Close popup. QTest::mouseClick(mainWindow, Qt::LeftButton, Qt::KeyboardModifiers(), QPoint(476, 392)); - QTest::qWait(1000); - - QVERIFY(!TestUtils::getVirtualWindowContent(mainWindow)); + QTRY_VERIFY_WITH_TIMEOUT(!TestUtils::getVirtualWindowContent(mainWindow), 1000); +} + +void MainViewTest::showSettingsWindow () { + App *app = App::getInstance(); + + // Open window. + QTest::keyClick(app->getMainWindow(), Qt::Key_P, Qt::ControlModifier); + QQuickWindow *settingsWindow = app->getSettingsWindow(); + + QVERIFY(QTest::qWaitForWindowExposed(settingsWindow)); + + // Hide window. + TestUtils::executeKeySequence(settingsWindow, QKeySequence::Close); + QVERIFY(!settingsWindow->isVisible()); } diff --git a/src/tests/main-view/MainViewTest.hpp b/src/tests/main-view/MainViewTest.hpp index 6d42e7983..2f35b89b3 100644 --- a/src/tests/main-view/MainViewTest.hpp +++ b/src/tests/main-view/MainViewTest.hpp @@ -34,4 +34,5 @@ public: private slots: void showAboutPopup (); void showManageAccountsPopup (); + void showSettingsWindow (); };