diff options
author | Mitch Curtis <mitch.curtis@qt.io> | 2016-12-21 14:53:15 +0100 |
---|---|---|
committer | Mitch Curtis <mitch.curtis@qt.io> | 2016-12-21 14:56:15 +0000 |
commit | f6cc303c3ed5be70fd73aaddbb0db1175e4ab126 (patch) | |
tree | 9b277084f421277c400205ae6564a79e4c4853e7 /tests/auto/extras | |
parent | af1c98ad9bb6a14fb1f02fb143486316bedff655 (diff) | |
download | qtquickcontrols-f6cc303c3ed5be70fd73aaddbb0db1175e4ab126.tar.gz |
tst_piemenu: use TestCase's new createTemporaryObject functions
This ensures that the appropriate objects are destroyed at the end of
each test function, even if the test fails.
Task-number: QTBUG-53520
Change-Id: Ic5935b3f7e530b8b4d2261fc68161ce4116fb325
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Diffstat (limited to 'tests/auto/extras')
-rw-r--r-- | tests/auto/extras/data/tst_piemenu.qml | 70 |
1 files changed, 34 insertions, 36 deletions
diff --git a/tests/auto/extras/data/tst_piemenu.qml b/tests/auto/extras/data/tst_piemenu.qml index 1e0e224e..3b0be526 100644 --- a/tests/auto/extras/data/tst_piemenu.qml +++ b/tests/auto/extras/data/tst_piemenu.qml @@ -71,11 +71,6 @@ Item { readonly property real menuWidth: 200 readonly property real menuHeight: 200 - // The root item for each test, if one exists. - property Item root - // The pie menu for each test, if no root is created. - property Item pieMenu - SignalSpy { id: currentIndexSignalSpy } @@ -88,15 +83,16 @@ Item { id: selectedAngleChangedSpy } + Component { + id: pieMenuComponent + + PieMenu {} + } + function cleanup() { currentIndexSignalSpy.clear(); actionSignalSpy.clear(); selectedAngleChangedSpy.clear(); - - if (root) - root.destroy(); - if (pieMenu) - pieMenu.destroy(); } function mouseButtonToString(button) { @@ -109,24 +105,24 @@ Item { } function test_instance() { - var pieMenu = Qt.createQmlObject("import QtQuick.Extras 1.4; PieMenu { }", container, ""); + var pieMenu = createTemporaryObject(pieMenuComponent, container); verify(pieMenu, "PieMenu: failed to create an instance"); verify(pieMenu.__style); compare(pieMenu.triggerMode, TriggerMode.TriggerOnClick); pieMenu.destroy(); // Ensure setting visible = true; visible = false; in onCompleted doesn't cause any problems. - var pieMenuComponent = Qt.createComponent("PieMenuVisibleOnCompleted.qml"); - tryCompare(pieMenuComponent, "status", Component.Ready); - pieMenu = pieMenuComponent.createObject(container); + var visibleOnCompletedComponent = Qt.createComponent("PieMenuVisibleOnCompleted.qml"); + tryCompare(visibleOnCompletedComponent, "status", Component.Ready); + pieMenu = createTemporaryObject(visibleOnCompletedComponent, container); verify(pieMenu, "PieMenu: failed to create an instance"); pieMenu.destroy(); // Ensure constructing a menu as a property (and hence no parent) // with visible = true doesn't cause any problems. - pieMenuComponent = Qt.createComponent("PieMenuVisibleButNoParent.qml"); - tryCompare(pieMenuComponent, "status", Component.Ready); - pieMenu = pieMenuComponent.createObject(container); + var visibleButNoParentComponent = Qt.createComponent("PieMenuVisibleButNoParent.qml"); + tryCompare(visibleButNoParentComponent, "status", Component.Ready); + pieMenu = createTemporaryObject(visibleButNoParentComponent, container); verify(pieMenu, "PieMenu: failed to create an instance"); pieMenu.destroy(); } @@ -134,7 +130,7 @@ Item { function test_triggerMode() { var pieMenuComponent = Qt.createComponent("PieMenu3Items.qml"); tryCompare(pieMenuComponent, "status", Component.Ready); - root = pieMenuComponent.createObject(container); + var root = createTemporaryObject(pieMenuComponent, container); var mouseArea = root.mouseArea; var pieMenu = root.pieMenu; currentIndexSignalSpy.signalName = "currentIndexChanged" @@ -371,7 +367,7 @@ Item { skip("Fails with touch screens"); var pieMenuComponent = Qt.createComponent("PieMenu3Items.qml"); tryCompare(pieMenuComponent, "status", Component.Ready); - root = pieMenuComponent.createObject(container); + var root = createTemporaryObject(pieMenuComponent, container); var mouseArea = root.mouseArea; var pieMenu = root.pieMenu; @@ -425,7 +421,7 @@ Item { function test_sectionAngles(data) { var pieMenuComponent = Qt.createComponent("PieMenu3Items.qml"); tryCompare(pieMenuComponent, "status", Component.Ready); - root = pieMenuComponent.createObject(container); + var root = createTemporaryObject(pieMenuComponent, container); var pieMenu = root.pieMenu; pieMenu.__style.startAngle = data.startAngle; @@ -481,7 +477,7 @@ Item { function test_bounds(data) { var pieMenuComponent = Qt.createComponent("PieMenu3Items.qml"); tryCompare(pieMenuComponent, "status", Component.Ready); - root = pieMenuComponent.createObject(container); + var root = createTemporaryObject(pieMenuComponent, container); var mouseArea = root.mouseArea; var pieMenu = root.pieMenu; @@ -530,7 +526,7 @@ Item { skip("Fails with touch screens"); var pieMenuComponent = Qt.createComponent("PieMenu3Items.qml"); tryCompare(pieMenuComponent, "status", Component.Ready); - root = pieMenuComponent.createObject(container); + var root = createTemporaryObject(pieMenuComponent, container); var mouseArea = root.mouseArea; var pieMenu = root.pieMenu; @@ -584,7 +580,8 @@ Item { } function test_addItem() { - pieMenu = Qt.createQmlObject("import QtQuick.Extras 1.1; PieMenu {}", container); + var pieMenu = createTemporaryObject(pieMenuComponent, container); + verify(pieMenu); compare(pieMenu.menuItems.length, 0); pieMenu.addItem("Action 1"); @@ -592,7 +589,8 @@ Item { } function test_insertItem() { - pieMenu = Qt.createQmlObject("import QtQuick.Extras 1.1; PieMenu {}", container); + var pieMenu = createTemporaryObject(pieMenuComponent, container); + verify(pieMenu); compare(pieMenu.menuItems.length, 0); pieMenu.insertItem(0, "Action 1"); @@ -608,7 +606,7 @@ Item { function test_removeItem() { var pieMenuComponent = Qt.createComponent("PieMenu3Items.qml"); tryCompare(pieMenuComponent, "status", Component.Ready); - root = pieMenuComponent.createObject(container); + var root = createTemporaryObject(pieMenuComponent, container); var pieMenu = root.pieMenu; var originalLength = pieMenu.menuItems.length; @@ -621,11 +619,11 @@ Item { } function debugMousePosition(pieMenu, mouseX, mouseY, positionText) { - var rectItem = Qt.createQmlObject("import QtQuick 2.0; Rectangle { width: 10; height: 10; radius: 5; color: 'red' }", pieMenu); + var rectItem = createTemporaryQmlObject("import QtQuick 2.0; Rectangle { width: 10; height: 10; radius: 5; color: 'red' }", pieMenu); rectItem.x = mouseX - rectItem.width / 2; rectItem.y = mouseY - rectItem.height / 2; - var textItem = Qt.createQmlObject("import QtQuick 2.0; Text {}", rectItem); + var textItem = createTemporaryQmlObject("import QtQuick 2.0; Text {}", rectItem); textItem.text = positionText; textItem.font.pixelSize = 8; textItem.anchors.centerIn = textItem.parent; @@ -638,9 +636,9 @@ Item { // as expected and the current item is cleared when the mouse moves outside the menu var pieMenuComponent = Qt.createComponent("PieMenu3Items.qml"); tryCompare(pieMenuComponent, "status", Component.Ready); - root = pieMenuComponent.createObject(container); + var root = createTemporaryObject(pieMenuComponent, container); var mouseArea = root.mouseArea; - pieMenu = root.pieMenu; + var pieMenu = root.pieMenu; // Make the menu visible at (0,0) waitForRendering(root); @@ -711,7 +709,7 @@ Item { skip("Fails with touch screens"); var pieMenuComponent = Qt.createComponent("PieMenu3Items.qml"); tryCompare(pieMenuComponent, "status", Component.Ready); - root = pieMenuComponent.createObject(container); + var root = createTemporaryObject(pieMenuComponent, container); var mouseArea = root.mouseArea; var pieMenu = root.pieMenu; @@ -741,7 +739,7 @@ Item { skip("Fails with touch screens"); var pieMenuComponent = Qt.createComponent("PieMenuRotatedBoundingItem.qml"); tryCompare(pieMenuComponent, "status", Component.Ready); - root = pieMenuComponent.createObject(container); + var root = createTemporaryObject(pieMenuComponent, container); var mouseArea = root.mouseArea; var pieMenu = root.pieMenu; @@ -771,7 +769,7 @@ Item { // Tests boundingItem when there are nested margins. var pieMenuComponent = Qt.createComponent("PieMenuBoundingItem.qml"); tryCompare(pieMenuComponent, "status", Component.Ready); - root = pieMenuComponent.createObject(container); + var root = createTemporaryObject(pieMenuComponent, container); var mouseArea = root.mouseArea; var pieMenu = root.pieMenu; @@ -801,7 +799,7 @@ Item { // press before the release (TriggerOnClick). var pieMenuComponent = Qt.createComponent("PieMenu3ItemsLongPress.qml"); tryCompare(pieMenuComponent, "status", Component.Ready); - root = pieMenuComponent.createObject(container); + var root = createTemporaryObject(pieMenuComponent, container); var pieMenu = root.pieMenu; mousePress(root, 0, 0, Qt.LeftButton); @@ -831,7 +829,7 @@ Item { // This functionality is used in the flat example. var pieMenuComponent = Qt.createComponent("PieMenu3ItemsKeepOpen.qml"); tryCompare(pieMenuComponent, "status", Component.Ready); - root = pieMenuComponent.createObject(container); + var root = createTemporaryObject(pieMenuComponent, container); var pieMenu = root.pieMenu; actionSignalSpy.signalName = "actionTriggered"; actionSignalSpy.target = root; @@ -862,8 +860,8 @@ Item { function test_pressedIndex() { var pieMenuComponent = Qt.createComponent("PieMenu3Items.qml"); tryCompare(pieMenuComponent, "status", Component.Ready); - root = pieMenuComponent.createObject(container); - pieMenu = root.pieMenu; + var root = createTemporaryObject(pieMenuComponent, container); + var pieMenu = root.pieMenu; actionSignalSpy.signalName = "actionTriggered"; actionSignalSpy.target = root; |