summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/dialogs/qwizard/tst_qwizard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets/dialogs/qwizard/tst_qwizard.cpp')
-rw-r--r--tests/auto/widgets/dialogs/qwizard/tst_qwizard.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/auto/widgets/dialogs/qwizard/tst_qwizard.cpp b/tests/auto/widgets/dialogs/qwizard/tst_qwizard.cpp
index a711bc28e3..25a82050e3 100644
--- a/tests/auto/widgets/dialogs/qwizard/tst_qwizard.cpp
+++ b/tests/auto/widgets/dialogs/qwizard/tst_qwizard.cpp
@@ -90,6 +90,7 @@ private slots:
void setOption_HaveNextButtonOnLastPage();
void setOption_HaveFinishButtonOnEarlyPages();
void setOption_NoCancelButton();
+ void setOption_NoCancelButtonOnLastPage();
void setOption_CancelButtonOnLeft();
void setOption_HaveHelpButton();
void setOption_HelpButtonOnRight();
@@ -1423,6 +1424,50 @@ void tst_QWizard::setOption_NoCancelButton()
}
}
+void tst_QWizard::setOption_NoCancelButtonOnLastPage()
+{
+ for (int i = 0; i < 2; ++i) {
+ QWizard wizard;
+ wizard.setOption(QWizard::NoCancelButton, false);
+ wizard.setOption(QWizard::NoCancelButtonOnLastPage, true);
+ wizard.addPage(new QWizardPage);
+ wizard.addPage(new QWizardPage);
+ wizard.page(1)->setFinalPage(true); // changes nothing (final != last in general)
+ wizard.addPage(new QWizardPage);
+
+ wizard.setStartId(1);
+ wizard.show();
+ qApp->processEvents();
+
+ QVERIFY(wizard.button(QWizard::CancelButton)->isVisible());
+
+ wizard.next();
+ qApp->processEvents();
+ QVERIFY(!wizard.button(QWizard::CancelButton)->isVisible());
+
+ wizard.next();
+ qApp->processEvents();
+ QVERIFY(!wizard.button(QWizard::CancelButton)->isVisible());
+
+ wizard.back();
+ qApp->processEvents();
+ QVERIFY(wizard.button(QWizard::CancelButton)->isVisible());
+
+ wizard.next();
+ qApp->processEvents();
+ QVERIFY(!wizard.button(QWizard::CancelButton)->isVisible());
+
+ wizard.setOption(QWizard::NoCancelButtonOnLastPage, false);
+ QVERIFY(wizard.button(QWizard::CancelButton)->isVisible());
+
+ wizard.setOption(QWizard::NoCancelButtonOnLastPage, true);
+ QVERIFY(!wizard.button(QWizard::CancelButton)->isVisible());
+
+ wizard.addPage(new QWizardPage);
+ QVERIFY(!wizard.button(QWizard::CancelButton)->isVisible()); // this is maybe wrong
+ }
+}
+
void tst_QWizard::setOption_CancelButtonOnLeft()
{
for (int i = 0; i < 2; ++i) {