Exemple #1
0
void WaitForWindowTest::testWaitEndedByModalDialog() {
    WaitForWindow waitForWindow("theName");
    waitForWindow.setActive(true);

    //WaitFor* must be registered in order to be used with QSignalSpy
    int waitForStarType = qRegisterMetaType<WaitFor*>("WaitFor*");
    QSignalSpy waitEndedSpy(&waitForWindow, SIGNAL(waitEnded(WaitFor*)));

    QDialog* modalDialog = new QDialog(mMainWindow); //krazy:exclude=qclasses
    modalDialog->setObjectName("theName");

    QTimer timerAccept;
    timerAccept.setSingleShot(true);
    timerAccept.setInterval(1500);
    connect(&timerAccept, SIGNAL(timeout()), modalDialog, SLOT(accept()));

    //Check that the condition was met before closing the modal dialog to ensure
    //that the processing of events or signals is not halted due to being modal.
    queueAssertConditionMet(&waitForWindow, &waitEndedSpy, 500);

    timerAccept.start();
    modalDialog->exec(); //krazy:exclude=crashy

    modalDialog->deleteLater();

    QVERIFY(waitForWindow.conditionMet());
    QCOMPARE(waitEndedSpy.count(), 1);
    QVariant argument = waitEndedSpy.at(0).at(0);
    QCOMPARE(argument.userType(), waitForStarType);
    QCOMPARE(qvariant_cast<WaitFor*>(argument), &waitForWindow);
}
Exemple #2
0
void WaitForWindowTest::testWaitEnded() {
    WaitForWindow waitForWindow("theName");
    waitForWindow.setActive(true);

    //WaitFor* must be registered in order to be used with QSignalSpy
    int waitForStarType = qRegisterMetaType<WaitFor*>("WaitFor*");
    QSignalSpy waitEndedSpy(&waitForWindow, SIGNAL(waitEnded(WaitFor*)));

    QWidget* otherWindow = new QWidget(mMainWindow);
    otherWindow->setObjectName("otherName");
    otherWindow->setWindowFlags(Qt::Window);
    otherWindow->show();

    otherWindow->deleteLater();

    QVERIFY(!waitForWindow.conditionMet());
    QCOMPARE(waitEndedSpy.count(), 0);

    QWidget* window = new QWidget(mMainWindow);
    window->setObjectName("theName");
    window->setWindowFlags(Qt::Window);
    window->show();

    window->deleteLater();

    QVERIFY(waitForWindow.conditionMet());
    QCOMPARE(waitEndedSpy.count(), 1);
    QVariant argument = waitEndedSpy.at(0).at(0);
    QCOMPARE(argument.userType(), waitForStarType);
    QCOMPARE(qvariant_cast<WaitFor*>(argument), &waitForWindow);
}
Exemple #3
0
void WaitForWindowTest::testSetActive() {
    WaitForWindow waitForWindow("theName");
    waitForWindow.d->mConditionMet = true;

    waitForWindow.setActive(true);

    QVERIFY(waitForWindow.isActive());
    QVERIFY(!waitForWindow.conditionMet());
}
GUI::MainWindow* TestMainWindow::getMainWindow() {
	if(mainWindow) {
        triggerAction("New");
        QTabWidget* tabWidget = mainWindow->findChildren<QTabWidget*>().first();
        tabWidget->setCurrentIndex(0);
		qApp->processEvents();
	} else {
		mainWindow = new GUI::MainWindow();
		originMemento = mainWindow->getMemento();
		mainWindow->show();
		QTest::qWaitForWindowActive(mainWindow);
	}
    waitForWindow(300);
	return mainWindow;
}
Exemple #5
0
void WaitForWindowTest::testWaitEndedNotActive() {
    WaitForWindow waitForWindow("theName");

    qRegisterMetaType<WaitFor*>("WaitFor*");
    QSignalSpy waitEndedSpy(&waitForWindow, SIGNAL(waitEnded(WaitFor*)));

    QWidget* window = new QWidget(mMainWindow);
    window->setObjectName("theName");
    window->setWindowFlags(Qt::Window);
    window->show();

    window->deleteLater();

    QVERIFY(!waitForWindow.conditionMet());
    QCOMPARE(waitEndedSpy.count(), 0);
}
Exemple #6
0
void WaitForWindowTest::testConstructor() {
    WaitForWindow waitForWindow("theName");

    QVERIFY(!waitForWindow.isActive());
    QVERIFY(!waitForWindow.conditionMet());
}