summaryrefslogtreecommitdiff
path: root/tests/auto/controls/data/tst_treeview.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/controls/data/tst_treeview.qml')
-rw-r--r--tests/auto/controls/data/tst_treeview.qml29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/auto/controls/data/tst_treeview.qml b/tests/auto/controls/data/tst_treeview.qml
index 9db58f14..6e17e318 100644
--- a/tests/auto/controls/data/tst_treeview.qml
+++ b/tests/auto/controls/data/tst_treeview.qml
@@ -785,5 +785,34 @@ Item {
compare(treeIndex.column, modelIndex.column)
compare(treeIndex.internalId, modelIndex.internalId)
}
+
+ function test_QTBUG_46891_selection_collapse_parent()
+ {
+ var component = Qt.createComponent("treeview/treeview_1.qml")
+ compare(component.status, Component.Ready)
+ var tree = component.createObject(container);
+ verify(tree !== null, "tree created is null")
+ var model = tree.model
+ model.removeRows(1, 9)
+ model.removeRows(1, 9, model.index(0, 0))
+ waitForRendering(tree)
+
+ var selectionModel = Qt.createQmlObject(testCase.instance_selectionModel, container, '')
+ selectionModel.model = tree.model
+ tree.selection = selectionModel
+ tree.selectionMode = SelectionMode.ExtendedSelection
+
+ var parentItem = tree.model.index(0, 0)
+ tree.expand(parentItem)
+ verify(tree.isExpanded(parentItem))
+
+ wait(100)
+ mouseClick(tree, semiIndent + 50, 20 + 100, Qt.LeftButton)
+ verify(selectionModel.isSelected(tree.currentIndex))
+
+ tree.collapse(parentItem)
+ mouseClick(tree, semiIndent + 50, 20 + 50, Qt.LeftButton)
+ verify(selectionModel.isSelected(parentItem))
+ }
}
}