summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp')
-rw-r--r--tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp b/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp
index a4d4e5d717..433fbc2bfe 100644
--- a/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp
+++ b/tests/auto/widgets/widgets/qgroupbox/tst_qgroupbox.cpp
@@ -46,6 +46,7 @@
#include <QStyleOptionGroupBox>
#include <QVBoxLayout>
#include <QRadioButton>
+#include <QDialog>
#include "qgroupbox.h"
@@ -71,6 +72,7 @@ private slots:
void setChecked_data();
void setChecked();
void enabledPropagation();
+ void enabledChildPropagation();
void sizeHint();
void toggled();
void clicked_data();
@@ -288,6 +290,23 @@ void tst_QGroupBox::enabledPropagation()
delete testWidget;
}
+void tst_QGroupBox::enabledChildPropagation()
+{
+ QGroupBox testWidget;
+ testWidget.setCheckable(true);
+ testWidget.setChecked(true);
+ // The value of isChecked() should be reflected in the isEnabled() of newly
+ // added child widgets, but not in top level widgets.
+ QWidget *childWidget = new QWidget(&testWidget);
+ QVERIFY(childWidget->isEnabled());
+ QDialog *dialog = new QDialog(&testWidget);
+ QVERIFY(dialog->isEnabled());
+ testWidget.setChecked(false);
+ childWidget = new QWidget(&testWidget);
+ QVERIFY(!childWidget->isEnabled());
+ dialog = new QDialog(&testWidget);
+ QVERIFY(dialog->isEnabled());
+}
void tst_QGroupBox::sizeHint()
{