diff options
Diffstat (limited to 'tests/auto/controls/data/tst_combobox.qml')
-rw-r--r-- | tests/auto/controls/data/tst_combobox.qml | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/tests/auto/controls/data/tst_combobox.qml b/tests/auto/controls/data/tst_combobox.qml index 7369f263..4755c92b 100644 --- a/tests/auto/controls/data/tst_combobox.qml +++ b/tests/auto/controls/data/tst_combobox.qml @@ -48,10 +48,10 @@ ** ****************************************************************************/ -import QtQuick 2.15 -import QtQuick.Window 2.15 -import QtTest 1.15 -import QtQuick.Controls 2.15 +import QtQuick +import QtQuick.Window +import QtTest +import QtQuick.Controls TestCase { id: testCase @@ -215,9 +215,9 @@ TestCase { var control = createTemporaryObject(emptyBox, testCase, {textRole: "text"}) verify(control) - var obj1 = Qt.createQmlObject("import QtQml 2.0; QtObject { property string text: 'one' }", control) - var obj2 = Qt.createQmlObject("import QtQml 2.0; QtObject { property string text: 'two' }", control) - var obj3 = Qt.createQmlObject("import QtQml 2.0; QtObject { property string text: 'three' }", control) + var obj1 = Qt.createQmlObject("import QtQml; QtObject { property string text: 'one' }", control) + var obj2 = Qt.createQmlObject("import QtQml; QtObject { property string text: 'two' }", control) + var obj3 = Qt.createQmlObject("import QtQml; QtObject { property string text: 'three' }", control) control.model = [obj1, obj2, obj3] @@ -911,6 +911,28 @@ TestCase { compare(control.popup.visible, true) verify(control.popup.contentItem.y < control.y) + + // Account for when a transition of a scale from 0.9-1.0 that it is placed above right away and not below + // first just because there is room at the 0.9 scale + if (control.popup.enter !== null) { + // hide + mouseClick(control) + compare(control.pressed, false) + tryCompare(control.popup, "visible", false) + control.y = control.Window.height - (control.popup.contentItem.height * 0.99) + var popupYSpy = createTemporaryObject(signalSpy, testCase, {target: control.popup, signalName: "yChanged"}) + verify(popupYSpy.valid) + mousePress(control) + compare(control.pressed, true) + compare(control.popup.visible, false) + mouseRelease(control) + compare(control.pressed, false) + compare(control.popup.visible, true) + tryCompare(control.popup.enter, "running", false) + verify(control.popup.contentItem.y < control.y) + verify(popupYSpy.count === 1) + } + // follow the control outside the horizontal window bounds control.x = -control.width / 2 compare(control.x, -control.width / 2) |