summaryrefslogtreecommitdiff
path: root/tests/auto/qtdesktop/data/tst_radiobutton.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qtdesktop/data/tst_radiobutton.qml')
-rw-r--r--tests/auto/qtdesktop/data/tst_radiobutton.qml40
1 files changed, 39 insertions, 1 deletions
diff --git a/tests/auto/qtdesktop/data/tst_radiobutton.qml b/tests/auto/qtdesktop/data/tst_radiobutton.qml
index 74c81dd9..ba4445db 100644
--- a/tests/auto/qtdesktop/data/tst_radiobutton.qml
+++ b/tests/auto/qtdesktop/data/tst_radiobutton.qml
@@ -58,7 +58,7 @@ Item {
}
function init() {
- radioButton = Qt.createQmlObject('import QtDesktop 1.0; RadioButton {}', container, '');
+ radioButton = Qt.createQmlObject("import QtDesktop 1.0; RadioButton {}", container, "");
}
function cleanup() {
@@ -131,5 +131,43 @@ Item {
compare(radioButton.checked, expectedStates[i]);
}
}
+
+ function test_exclusiveGroup() {
+ var root = Qt.createQmlObject("import QtQuick 2.0; import QtDesktop 1.0; \n"
+ + "Row { \n"
+ + " property alias radioButton1: radioButton1 \n"
+ + " property alias radioButton2: radioButton2 \n"
+ + " property alias group: group \n"
+ + " ExclusiveGroup { id: group } \n"
+ + " RadioButton { id: radioButton1; checked: true; exclusiveGroup: group } \n"
+ + " RadioButton { id: radioButton2; exclusiveGroup: group } \n"
+ + "}", container, "");
+
+ compare(root.radioButton1.exclusiveGroup, root.group);
+ compare(root.radioButton2.exclusiveGroup, root.group);
+ compare(root.radioButton1.checked, true);
+ compare(root.radioButton2.checked, false);
+
+ root.forceActiveFocus();
+
+ signalSpy.target = root.radioButton2;
+ signalSpy.signalName = "clicked";
+ compare(signalSpy.count, 0);
+
+ mouseClick(root.radioButton2, root.radioButton2.x, root.radioButton2.y, Qt.LeftButton);
+ compare(signalSpy.count, 1);
+ compare(root.radioButton1.checked, false);
+ compare(root.radioButton2.checked, true);
+
+ signalSpy.clear();
+ signalSpy.target = root.radioButton1;
+ signalSpy.signalName = "clicked";
+ compare(signalSpy.count, 0);
+
+ mouseClick(root.radioButton1, root.radioButton1.x, root.radioButton1.y, Qt.LeftButton);
+ compare(signalSpy.count, 1);
+ compare(root.radioButton1.checked, true);
+ compare(root.radioButton2.checked, false);
+ }
}
}