diff options
Diffstat (limited to 'tests/auto/quickcontrols/controls/data/tst_buttongroup.qml')
-rw-r--r-- | tests/auto/quickcontrols/controls/data/tst_buttongroup.qml | 126 |
1 files changed, 90 insertions, 36 deletions
diff --git a/tests/auto/quickcontrols/controls/data/tst_buttongroup.qml b/tests/auto/quickcontrols/controls/data/tst_buttongroup.qml index 2ae86d1737..c628a5cb02 100644 --- a/tests/auto/quickcontrols/controls/data/tst_buttongroup.qml +++ b/tests/auto/quickcontrols/controls/data/tst_buttongroup.qml @@ -1,5 +1,5 @@ // Copyright (C) 2017 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only import QtQuick import QtTest @@ -28,14 +28,6 @@ TestCase { SignalSpy { } } - function test_null() { - var group = createTemporaryObject(buttonGroup, testCase) - verify(group) - - group.addButton(null) - group.removeButton(null) - } - Component { id: button Button { } @@ -46,10 +38,12 @@ TestCase { QtObject { } } - function test_defaults() { + function init() { failOnWarning(/.?/) + } - var group = createTemporaryObject(buttonGroup, testCase) + function test_defaults() { + let group = createTemporaryObject(buttonGroup, testCase) verify(group) compare(group.buttons.length, 0) compare(group.checkedButton, null) @@ -57,17 +51,25 @@ TestCase { compare(group.checkState, Qt.Unchecked) } + function test_null() { + let group = createTemporaryObject(buttonGroup, testCase) + verify(group) + + group.addButton(null) + group.removeButton(null) + } + function test_current() { - var group = createTemporaryObject(buttonGroup, testCase) + let group = createTemporaryObject(buttonGroup, testCase) verify(group) - var checkedButtonSpy = createTemporaryObject(signalSpy, testCase, {target: group, signalName: "checkedButtonChanged"}) + let checkedButtonSpy = createTemporaryObject(signalSpy, testCase, {target: group, signalName: "checkedButtonChanged"}) verify(checkedButtonSpy.valid) verify(!group.checkedButton) - var button1 = createTemporaryObject(button, testCase, {checked: true}) - var button2 = createTemporaryObject(button, testCase, {checked: false}) - var button3 = createTemporaryObject(button, testCase, {checked: true, objectName: "3"}) + let button1 = createTemporaryObject(button, testCase, {checked: true}) + let button2 = createTemporaryObject(button, testCase, {checked: false}) + let button3 = createTemporaryObject(button, testCase, {checked: true, objectName: "3"}) // add checked group.addButton(button1) @@ -127,17 +129,17 @@ TestCase { } function test_buttons() { - var group = createTemporaryObject(buttonGroup, testCase) + let group = createTemporaryObject(buttonGroup, testCase) verify(group) - var buttonsSpy = createTemporaryObject(signalSpy, testCase, {target: group, signalName: "buttonsChanged"}) + let buttonsSpy = createTemporaryObject(signalSpy, testCase, {target: group, signalName: "buttonsChanged"}) verify(buttonsSpy.valid) compare(group.buttons.length, 0) compare(group.checkedButton, null) - var button1 = createTemporaryObject(button, testCase, {checked: true}) - var button2 = createTemporaryObject(button, testCase, {checked: false}) + let button1 = createTemporaryObject(button, testCase, {checked: true}) + let button2 = createTemporaryObject(button, testCase, {checked: false}) group.buttons = [button1, button2] compare(group.buttons.length, 2) @@ -146,7 +148,7 @@ TestCase { compare(group.checkedButton, button1) compare(buttonsSpy.count, 2) - var button3 = createTemporaryObject(button, testCase, {checked: true}) + let button3 = createTemporaryObject(button, testCase, {checked: true}) group.addButton(button3) compare(group.buttons.length, 3) @@ -177,14 +179,14 @@ TestCase { } function test_clicked(data) { - var group = createTemporaryObject(buttonGroup, testCase, {exclusive: data.exclusive}) + let group = createTemporaryObject(buttonGroup, testCase, {exclusive: data.exclusive}) verify(group) - var clickedSpy = createTemporaryObject(signalSpy, testCase, {target: group, signalName: "clicked"}) + let clickedSpy = createTemporaryObject(signalSpy, testCase, {target: group, signalName: "clicked"}) verify(clickedSpy.valid) - var button1 = createTemporaryObject(button, testCase) - var button2 = createTemporaryObject(button, testCase) + let button1 = createTemporaryObject(button, testCase) + let button2 = createTemporaryObject(button, testCase) group.addButton(button1) group.addButton(button2) @@ -252,7 +254,7 @@ TestCase { } function test_controls(data) { - var container = createTemporaryObject(data.component, testCase) + let container = createTemporaryObject(data.component, testCase) verify(container) verify(!container.group.checkedButton) @@ -277,13 +279,13 @@ TestCase { } function test_buttonDestroyed() { - var group = createTemporaryObject(buttonGroup, testCase) + let group = createTemporaryObject(buttonGroup, testCase) verify(group) - var buttonsSpy = createTemporaryObject(signalSpy, testCase, {target: group, signalName: "buttonsChanged"}) + let buttonsSpy = createTemporaryObject(signalSpy, testCase, {target: group, signalName: "buttonsChanged"}) verify(buttonsSpy.valid) - var button1 = createTemporaryObject(button, testCase, {objectName: "button1", checked: true}) + let button1 = createTemporaryObject(button, testCase, {objectName: "button1", checked: true}) group.addButton(button1) compare(group.buttons.length, 1) @@ -316,7 +318,7 @@ TestCase { } function test_repeater() { - var container = createTemporaryObject(repeater, testCase) + let container = createTemporaryObject(repeater, testCase) verify(container) verify(container.group.checkedButton) @@ -324,25 +326,25 @@ TestCase { } function test_nonExclusive() { - var group = createTemporaryObject(nonExclusiveGroup, testCase) + let group = createTemporaryObject(nonExclusiveGroup, testCase) verify(group) compare(group.checkState, Qt.Unchecked) - var button1 = createTemporaryObject(button, testCase, {checked: true}) + let button1 = createTemporaryObject(button, testCase, {checked: true}) group.addButton(button1) compare(button1.checked, true) compare(group.checkedButton, null) compare(group.checkState, Qt.Checked) - var button2 = createTemporaryObject(button, testCase, {checked: true}) + let button2 = createTemporaryObject(button, testCase, {checked: true}) group.addButton(button2) compare(button1.checked, true) compare(button2.checked, true) compare(group.checkedButton, null) compare(group.checkState, Qt.Checked) - var button3 = createTemporaryObject(button, testCase, {checked: false}) + let button3 = createTemporaryObject(button, testCase, {checked: false}) group.addButton(button3) compare(button1.checked, true) compare(button2.checked, true) @@ -401,7 +403,7 @@ TestCase { model: ListModel { id: listModel Component.onCompleted: { - for (var i = 0; i < 10; ++i) + for (let i = 0; i < 10; ++i) append({text: i}) } } @@ -410,11 +412,63 @@ TestCase { } function test_checkedButtonDestroyed() { - var column = createTemporaryObject(checkedButtonColumn, testCase) + let column = createTemporaryObject(checkedButtonColumn, testCase) verify(column) waitForRendering(column) mouseClick(column.children[0]) wait(0) // don't crash (QTBUG-62946, QTBUG-63470) } + + Component { + id: buttonGroupComp + + Item { + + property ButtonGroup buttonGroup: ButtonGroup { } + property int buttonGroupCount: buttonGroup.buttons.length + property int buttonGrpSigCnt: 0 + + function clearButtonGroup() { + buttonGroup.buttons = [] + } + function assignButtonGroup() { + radioButton1.ButtonGroup.group = buttonGroup + } + + Column { + RadioButton { + id: radioButton1 + visible: false + ButtonGroup.group: buttonGroup + ButtonGroup.onGroupChanged: { (ButtonGroup.group === null) ? --buttonGrpSigCnt : ++buttonGrpSigCnt } + } + RadioButton { + id: radioButton2 + visible: false + ButtonGroup.group: buttonGroup + ButtonGroup.onGroupChanged: { (ButtonGroup.group === null) ? --buttonGrpSigCnt : ++buttonGrpSigCnt } + } + } + } + } + + function test_resetButtonGroup() { + let container = createTemporaryObject(buttonGroupComp, testCase) + verify(container) + + // Check for initial buttons assigned to button group + compare(container.buttonGroupCount, 2) + compare(container.buttonGrpSigCnt, 2) + // Clear buttons in the button group + container.clearButtonGroup() + // Check for buttons in the group and group changed event for buttons + compare(container.buttonGroupCount, 0) + compare(container.buttonGrpSigCnt, 0) + // Assign same group to the button + container.assignButtonGroup() + // Check for group change event from the button + compare(container.buttonGroupCount, 1) + compare(container.buttonGrpSigCnt, 1) + } } |