aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/controls
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/controls')
-rw-r--r--tests/auto/controls/data/SignalSequenceSpy.qml2
-rw-r--r--tests/auto/controls/data/TestItem.qml2
-rw-r--r--tests/auto/controls/data/TumblerDatePicker.qml4
-rw-r--r--tests/auto/controls/data/TumblerListView.qml4
-rw-r--r--tests/auto/controls/data/TumblerPathView.qml4
-rw-r--r--tests/auto/controls/data/splitview/fillItemInMiddle.qml4
-rw-r--r--tests/auto/controls/data/splitview/fillItemOnLeft.qml4
-rw-r--r--tests/auto/controls/data/splitview/fillItemOnTop.qml4
-rw-r--r--tests/auto/controls/data/tst_abstractbutton.qml6
-rw-r--r--tests/auto/controls/data/tst_action.qml8
-rw-r--r--tests/auto/controls/data/tst_actiongroup.qml6
-rw-r--r--tests/auto/controls/data/tst_busyindicator.qml6
-rw-r--r--tests/auto/controls/data/tst_button.qml10
-rw-r--r--tests/auto/controls/data/tst_buttongroup.qml6
-rw-r--r--tests/auto/controls/data/tst_checkbox.qml6
-rw-r--r--tests/auto/controls/data/tst_checkdelegate.qml10
-rw-r--r--tests/auto/controls/data/tst_combobox.qml214
-rw-r--r--tests/auto/controls/data/tst_container.qml8
-rw-r--r--tests/auto/controls/data/tst_control.qml8
-rw-r--r--tests/auto/controls/data/tst_delaybutton.qml6
-rw-r--r--tests/auto/controls/data/tst_dial.qml6
-rw-r--r--tests/auto/controls/data/tst_dialog.qml44
-rw-r--r--tests/auto/controls/data/tst_dialogbuttonbox.qml6
-rw-r--r--tests/auto/controls/data/tst_frame.qml6
-rw-r--r--tests/auto/controls/data/tst_groupbox.qml6
-rw-r--r--tests/auto/controls/data/tst_itemdelegate.qml10
-rw-r--r--tests/auto/controls/data/tst_label.qml6
-rw-r--r--tests/auto/controls/data/tst_menuitem.qml10
-rw-r--r--tests/auto/controls/data/tst_page.qml6
-rw-r--r--tests/auto/controls/data/tst_pageindicator.qml6
-rw-r--r--tests/auto/controls/data/tst_pane.qml6
-rw-r--r--tests/auto/controls/data/tst_popup.qml54
-rw-r--r--tests/auto/controls/data/tst_progressbar.qml6
-rw-r--r--tests/auto/controls/data/tst_radiobutton.qml6
-rw-r--r--tests/auto/controls/data/tst_radiodelegate.qml10
-rw-r--r--tests/auto/controls/data/tst_rangeslider.qml6
-rw-r--r--tests/auto/controls/data/tst_roundbutton.qml10
-rw-r--r--tests/auto/controls/data/tst_scrollbar.qml6
-rw-r--r--tests/auto/controls/data/tst_scrollindicator.qml6
-rw-r--r--tests/auto/controls/data/tst_scrollview.qml6
-rw-r--r--tests/auto/controls/data/tst_slider.qml6
-rw-r--r--tests/auto/controls/data/tst_spinbox.qml20
-rw-r--r--tests/auto/controls/data/tst_splitview.qml10
-rw-r--r--tests/auto/controls/data/tst_stackview.qml10
-rw-r--r--tests/auto/controls/data/tst_swipedelegate.qml77
-rw-r--r--tests/auto/controls/data/tst_swipeview.qml6
-rw-r--r--tests/auto/controls/data/tst_switch.qml6
-rw-r--r--tests/auto/controls/data/tst_switchdelegate.qml10
-rw-r--r--tests/auto/controls/data/tst_tabbar.qml6
-rw-r--r--tests/auto/controls/data/tst_tabbutton.qml10
-rw-r--r--tests/auto/controls/data/tst_textarea.qml6
-rw-r--r--tests/auto/controls/data/tst_textfield.qml8
-rw-r--r--tests/auto/controls/data/tst_toolbar.qml6
-rw-r--r--tests/auto/controls/data/tst_toolbutton.qml10
-rw-r--r--tests/auto/controls/data/tst_toolseparator.qml6
-rw-r--r--tests/auto/controls/data/tst_tooltip.qml6
-rw-r--r--tests/auto/controls/data/tst_tumbler.qml8
-rw-r--r--tests/auto/controls/default/dependencies.qml6
-rw-r--r--tests/auto/controls/fusion/dependencies.qml8
-rw-r--r--tests/auto/controls/imagine/dependencies.qml8
-rw-r--r--tests/auto/controls/material/dependencies.qml8
-rw-r--r--tests/auto/controls/universal/dependencies.qml8
62 files changed, 554 insertions, 239 deletions
diff --git a/tests/auto/controls/data/SignalSequenceSpy.qml b/tests/auto/controls/data/SignalSequenceSpy.qml
index 531a7f68..40718c09 100644
--- a/tests/auto/controls/data/SignalSequenceSpy.qml
+++ b/tests/auto/controls/data/SignalSequenceSpy.qml
@@ -48,7 +48,7 @@
**
****************************************************************************/
-import QtQuick 2.12
+import QtQuick
QtObject {
property QtObject target: null
diff --git a/tests/auto/controls/data/TestItem.qml b/tests/auto/controls/data/TestItem.qml
index 6bd42bac..df81269c 100644
--- a/tests/auto/controls/data/TestItem.qml
+++ b/tests/auto/controls/data/TestItem.qml
@@ -48,7 +48,7 @@
**
****************************************************************************/
-import QtQuick 2.12
+import QtQuick
Item {
id: item
diff --git a/tests/auto/controls/data/TumblerDatePicker.qml b/tests/auto/controls/data/TumblerDatePicker.qml
index 01ff2c03..c11b504b 100644
--- a/tests/auto/controls/data/TumblerDatePicker.qml
+++ b/tests/auto/controls/data/TumblerDatePicker.qml
@@ -48,8 +48,8 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtQuick.Controls 2.12
+import QtQuick
+import QtQuick.Controls
Row {
id: datePicker
diff --git a/tests/auto/controls/data/TumblerListView.qml b/tests/auto/controls/data/TumblerListView.qml
index 33504f33..a581c432 100644
--- a/tests/auto/controls/data/TumblerListView.qml
+++ b/tests/auto/controls/data/TumblerListView.qml
@@ -48,8 +48,8 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtQuick.Controls 2.12
+import QtQuick
+import QtQuick.Controls
ListView {
implicitWidth: 60
diff --git a/tests/auto/controls/data/TumblerPathView.qml b/tests/auto/controls/data/TumblerPathView.qml
index ec0d73ef..0f9be0e9 100644
--- a/tests/auto/controls/data/TumblerPathView.qml
+++ b/tests/auto/controls/data/TumblerPathView.qml
@@ -48,8 +48,8 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtQuick.Controls 2.12
+import QtQuick
+import QtQuick.Controls
PathView {
id: pathView
diff --git a/tests/auto/controls/data/splitview/fillItemInMiddle.qml b/tests/auto/controls/data/splitview/fillItemInMiddle.qml
index 174b6a2a..0acac9eb 100644
--- a/tests/auto/controls/data/splitview/fillItemInMiddle.qml
+++ b/tests/auto/controls/data/splitview/fillItemInMiddle.qml
@@ -48,8 +48,8 @@
**
****************************************************************************/
-import QtQuick 2.13
-import QtQuick.Controls 2.13
+import QtQuick
+import QtQuick.Controls
SplitView {
anchors.fill: parent
diff --git a/tests/auto/controls/data/splitview/fillItemOnLeft.qml b/tests/auto/controls/data/splitview/fillItemOnLeft.qml
index dee68eac..6f9c6e0b 100644
--- a/tests/auto/controls/data/splitview/fillItemOnLeft.qml
+++ b/tests/auto/controls/data/splitview/fillItemOnLeft.qml
@@ -48,8 +48,8 @@
**
****************************************************************************/
-import QtQuick 2.13
-import QtQuick.Controls 2.13
+import QtQuick
+import QtQuick.Controls
SplitView {
anchors.fill: parent
diff --git a/tests/auto/controls/data/splitview/fillItemOnTop.qml b/tests/auto/controls/data/splitview/fillItemOnTop.qml
index 2fc6f4d0..2955aa61 100644
--- a/tests/auto/controls/data/splitview/fillItemOnTop.qml
+++ b/tests/auto/controls/data/splitview/fillItemOnTop.qml
@@ -48,8 +48,8 @@
**
****************************************************************************/
-import QtQuick 2.13
-import QtQuick.Controls 2.13
+import QtQuick
+import QtQuick.Controls
SplitView {
anchors.fill: parent
diff --git a/tests/auto/controls/data/tst_abstractbutton.qml b/tests/auto/controls/data/tst_abstractbutton.qml
index da5642cc..bb1dfac2 100644
--- a/tests/auto/controls/data/tst_abstractbutton.qml
+++ b/tests/auto/controls/data/tst_abstractbutton.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_action.qml b/tests/auto/controls/data/tst_action.qml
index 0e41b7f3..946382ee 100644
--- a/tests/auto/controls/data/tst_action.qml
+++ b/tests/auto/controls/data/tst_action.qml
@@ -48,10 +48,10 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
-import QtQuick.Templates 2.12 as T
+import QtQuick
+import QtTest
+import QtQuick.Controls
+import QtQuick.Templates as T
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_actiongroup.qml b/tests/auto/controls/data/tst_actiongroup.qml
index 6c8ea5c4..e4ea5679 100644
--- a/tests/auto/controls/data/tst_actiongroup.qml
+++ b/tests/auto/controls/data/tst_actiongroup.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_busyindicator.qml b/tests/auto/controls/data/tst_busyindicator.qml
index 7801cdab..9353c338 100644
--- a/tests/auto/controls/data/tst_busyindicator.qml
+++ b/tests/auto/controls/data/tst_busyindicator.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_button.qml b/tests/auto/controls/data/tst_button.qml
index 83a6ea61..f27e5bcb 100644
--- a/tests/auto/controls/data/tst_button.qml
+++ b/tests/auto/controls/data/tst_button.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
@@ -467,11 +467,11 @@ TestCase {
var control = createTemporaryObject(button, testCase, {
text: "Button",
display: data.display,
- "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png",
+ "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png",
"LayoutMirroring.enabled": !!data.mirrored
})
verify(control)
- compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png")
+ compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png")
var iconImage = findChild(control.contentItem, "image")
var textLabel = findChild(control.contentItem, "label")
diff --git a/tests/auto/controls/data/tst_buttongroup.qml b/tests/auto/controls/data/tst_buttongroup.qml
index 1abb9795..138c0e24 100644
--- a/tests/auto/controls/data/tst_buttongroup.qml
+++ b/tests/auto/controls/data/tst_buttongroup.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_checkbox.qml b/tests/auto/controls/data/tst_checkbox.qml
index 1f00294f..81c3d6ca 100644
--- a/tests/auto/controls/data/tst_checkbox.qml
+++ b/tests/auto/controls/data/tst_checkbox.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_checkdelegate.qml b/tests/auto/controls/data/tst_checkdelegate.qml
index 0c0565f1..e5137787 100644
--- a/tests/auto/controls/data/tst_checkdelegate.qml
+++ b/tests/auto/controls/data/tst_checkdelegate.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
@@ -126,11 +126,11 @@ TestCase {
text: "CheckDelegate",
display: data.display,
width: 400,
- "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png",
+ "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png",
"LayoutMirroring.enabled": !!data.mirrored
})
verify(control)
- compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png")
+ compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png")
var iconImage = findChild(control.contentItem, "image")
var textLabel = findChild(control.contentItem, "label")
diff --git a/tests/auto/controls/data/tst_combobox.qml b/tests/auto/controls/data/tst_combobox.qml
index 64a525bf..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.14
-import QtQuick.Window 2.2
-import QtTest 1.0
-import QtQuick.Controls 2.12
+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)
@@ -1970,4 +1992,182 @@ TestCase {
compare(comboBox1.currentIndex, 9)
compare(currentIndexSpy.count, 1)
}
+
+ Component {
+ id: appFontTextFieldComponent
+ TextField {
+ objectName: "appFontTextField"
+ font: Qt.application.font
+ // We don't want the background's implicit width to interfere with our tests,
+ // which are about implicit width of the contentItem of ComboBox, which is by default TextField.
+ background: null
+ }
+ }
+
+ Component {
+ id: appFontContentItemComboBoxComponent
+ ComboBox {
+ // Override the contentItem so that the font doesn't vary between styles.
+ contentItem: TextField {
+ objectName: "appFontContentItemTextField"
+ // We do this just to be extra sure that the font never comes from the control,
+ // as we want it to match that of the TextField in the appFontTextFieldComponent.
+ font: Qt.application.font
+ background: null
+ }
+ }
+ }
+
+ Component {
+ id: twoItemListModelComponent
+
+ ListModel {
+ ListElement { display: "Short" }
+ ListElement { display: "Kinda long" }
+ }
+ }
+
+ function appendedToModel(model, item) {
+ if (Array.isArray(model)) {
+ let newModel = model
+ newModel.push(item)
+ return newModel
+ }
+
+ if (model.hasOwnProperty("append")) {
+ model.append({ display: item })
+ // To account for the fact that changes to a JS array are not seen by the QML engine,
+ // we need to reassign the entire model and hence return it. For simplicity in the
+ // calling code, we do it for the ListModel code path too. It should be a no-op.
+ return model
+ }
+
+ console.warn("appendedToModel: unrecognised model")
+ return undefined
+ }
+
+ function removedFromModel(model, index, count) {
+ if (Array.isArray(model)) {
+ let newModel = model
+ newModel.splice(index, count)
+ return newModel
+ }
+
+ if (model.hasOwnProperty("remove")) {
+ model.remove(index, count)
+ return model
+ }
+
+ console.warn("removedFromModel: unrecognised model")
+ return undefined
+ }
+
+ // We don't use a data-driven test for the policy because the checks vary a lot based on which enum we're testing.
+ function test_implicitContentWidthPolicy_ContentItemImplicitWidth() {
+ // Set ContentItemImplicitWidth and ensure that implicitContentWidth is as wide as the current item
+ // by comparing it against the implicitWidth of an identical TextField
+ let control = createTemporaryObject(appFontContentItemComboBoxComponent, testCase, {
+ model: ["Short", "Kinda long"],
+ implicitContentWidthPolicy: ComboBox.ContentItemImplicitWidth
+ })
+ verify(control)
+ compare(control.implicitContentWidthPolicy, ComboBox.ContentItemImplicitWidth)
+
+ let textField = createTemporaryObject(appFontTextFieldComponent, testCase)
+ verify(textField)
+ // Don't set any text on textField because we're not accounting for the widest
+ // text here, so we want to compare it against an empty TextField.
+ compare(control.implicitContentWidth, textField.implicitWidth)
+
+ textField.font.pixelSize *= 2
+ control.font.pixelSize *= 2
+ compare(control.implicitContentWidth, textField.implicitWidth)
+ }
+
+ function test_implicitContentWidthPolicy_WidestText_data() {
+ return [
+ { tag: "Array", model: ["Short", "Kinda long"] },
+ { tag: "ListModel", model: twoItemListModelComponent.createObject(testCase) },
+ ]
+ }
+
+ function test_implicitContentWidthPolicy_WidestText(data) {
+ let control = createTemporaryObject(appFontContentItemComboBoxComponent, testCase, {
+ model: data.model,
+ implicitContentWidthPolicy: ComboBox.WidestText
+ })
+ verify(control)
+ compare(control.implicitContentWidthPolicy, ComboBox.WidestText)
+
+ let textField = createTemporaryObject(appFontTextFieldComponent, testCase)
+ verify(textField)
+ textField.text = "Kinda long"
+ // Note that we don't need to change the current index here, as the implicitContentWidth
+ // is set to the implicitWidth of the TextField within the ComboBox as if it had the largest
+ // text from the model set on it.
+ // We use Math.ceil because TextInput uses qCeil internally, whereas the implicitWidth
+ // binding for TextField does not.
+ compare(Math.ceil(control.implicitContentWidth), Math.ceil(textField.implicitWidth))
+
+ // Add a longer item; it should affect the implicit content width.
+ let modifiedModel = appendedToModel(data.model, "Moderately long")
+ control.model = modifiedModel
+ textField.text = "Moderately long"
+ compare(Math.ceil(control.implicitContentWidth), Math.ceil(textField.implicitWidth))
+
+ // Remove the last two items; it should use the only remaining item's width.
+ modifiedModel = removedFromModel(data.model, 1, 2)
+ control.model = modifiedModel
+ compare(control.count, 1)
+ compare(control.currentText, "Short")
+ textField.text = "Short"
+ compare(Math.ceil(control.implicitContentWidth), Math.ceil(textField.implicitWidth))
+
+ // Changes in font should result in the implicitContentWidth being updated.
+ textField.font.pixelSize *= 2
+ // We have to change the contentItem's font size manually since we break the
+ // style's binding to the control's font when we set Qt.application.font to it.
+ control.contentItem.font.pixelSize *= 2
+ control.font.pixelSize *= 2
+ compare(Math.ceil(control.implicitContentWidth), Math.ceil(textField.implicitWidth))
+ }
+
+ function test_implicitContentWidthPolicy_WidestTextWhenCompleted_data() {
+ return test_implicitContentWidthPolicy_WidestText_data()
+ }
+
+ function test_implicitContentWidthPolicy_WidestTextWhenCompleted(data) {
+ let control = createTemporaryObject(appFontContentItemComboBoxComponent, testCase, {
+ model: data.model,
+ implicitContentWidthPolicy: ComboBox.WidestTextWhenCompleted
+ })
+ verify(control)
+ compare(control.implicitContentWidthPolicy, ComboBox.WidestTextWhenCompleted)
+
+ let textField = createTemporaryObject(appFontTextFieldComponent, testCase)
+ verify(textField)
+ textField.text = "Kinda long"
+ compare(Math.ceil(control.implicitContentWidth), Math.ceil(textField.implicitWidth))
+
+ // Add a longer item; it should not affect the implicit content width
+ // since we've already accounted for it once.
+ let modifiedModel = appendedToModel(data.model, "Moderately long")
+ control.model = modifiedModel
+ compare(Math.ceil(control.implicitContentWidth), Math.ceil(textField.implicitWidth))
+
+ // Remove the last two items; it should still not affect the implicit content width.
+ modifiedModel = removedFromModel(data.model, 1, 2)
+ control.model = modifiedModel
+ compare(control.count, 1)
+ compare(control.currentText, "Short")
+ compare(Math.ceil(control.implicitContentWidth), Math.ceil(textField.implicitWidth))
+
+ // Changes in font should not result in the implicitContentWidth being updated.
+ let oldTextFieldImplicitWidth = textField.implicitWidth
+ // Changes in font should result in the implicitContentWidth being updated.
+ textField.font.pixelSize *= 2
+ control.contentItem.font.pixelSize *= 2
+ control.font.pixelSize *= 2
+ compare(Math.ceil(control.implicitContentWidth), Math.ceil(oldTextFieldImplicitWidth))
+ }
}
diff --git a/tests/auto/controls/data/tst_container.qml b/tests/auto/controls/data/tst_container.qml
index c04a3402..be2b9a12 100644
--- a/tests/auto/controls/data/tst_container.qml
+++ b/tests/auto/controls/data/tst_container.qml
@@ -48,10 +48,10 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
-import QtQuick.Templates 2.12 as T
+import QtQuick
+import QtTest
+import QtQuick.Controls
+import QtQuick.Templates as T
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_control.qml b/tests/auto/controls/data/tst_control.qml
index 3c416546..1bbbe42a 100644
--- a/tests/auto/controls/data/tst_control.qml
+++ b/tests/auto/controls/data/tst_control.qml
@@ -48,10 +48,10 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
-import QtQuick.Templates 2.12 as T
+import QtQuick
+import QtTest
+import QtQuick.Controls
+import QtQuick.Templates as T
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_delaybutton.qml b/tests/auto/controls/data/tst_delaybutton.qml
index e965b5ef..731caf86 100644
--- a/tests/auto/controls/data/tst_delaybutton.qml
+++ b/tests/auto/controls/data/tst_delaybutton.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_dial.qml b/tests/auto/controls/data/tst_dial.qml
index 26f30c33..70645f8d 100644
--- a/tests/auto/controls/data/tst_dial.qml
+++ b/tests/auto/controls/data/tst_dial.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_dialog.qml b/tests/auto/controls/data/tst_dialog.qml
index 1bfffc1d..53d27fd3 100644
--- a/tests/auto/controls/data/tst_dialog.qml
+++ b/tests/auto/controls/data/tst_dialog.qml
@@ -48,10 +48,10 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
-import QtQuick.Templates 2.12 as T
+import QtQuick
+import QtTest
+import QtQuick.Controls
+import QtQuick.Templates as T
TestCase {
id: testCase
@@ -411,4 +411,40 @@ TestCase {
button.clicked()
compare(buttonSpy.count, 1)
}
+
+ Component {
+ id: qtbug85884
+ ApplicationWindow {
+ property alias focusItemActiveFocus: item.activeFocus
+ property alias focusDialogVisible: dialog.visible
+ visible: true
+ Item {
+ id: item
+ focus: true
+ }
+ Dialog {
+ id: dialog
+ focus: true
+ visible: false
+ onActiveFocusChanged: {
+ if (!activeFocus)
+ visible = false
+ }
+ }
+ }
+ }
+
+ function test_focusLeavingDialog(data) {
+ var window = createTemporaryObject(qtbug85884, testCase)
+ verify(window)
+ tryCompare(window, "focusItemActiveFocus", true)
+
+ window.focusDialogVisible = true
+ tryCompare(window, "focusDialogVisible", true)
+ tryCompare(window, "focusItemActiveFocus", false)
+
+ window.focusDialogVisible = false
+ tryCompare(window, "focusDialogVisible", false)
+ tryCompare(window, "focusItemActiveFocus", true)
+ }
}
diff --git a/tests/auto/controls/data/tst_dialogbuttonbox.qml b/tests/auto/controls/data/tst_dialogbuttonbox.qml
index a651713a..16a5fe5e 100644
--- a/tests/auto/controls/data/tst_dialogbuttonbox.qml
+++ b/tests/auto/controls/data/tst_dialogbuttonbox.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_frame.qml b/tests/auto/controls/data/tst_frame.qml
index a5236b71..95c69144 100644
--- a/tests/auto/controls/data/tst_frame.qml
+++ b/tests/auto/controls/data/tst_frame.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_groupbox.qml b/tests/auto/controls/data/tst_groupbox.qml
index a4f1b5f3..ed714897 100644
--- a/tests/auto/controls/data/tst_groupbox.qml
+++ b/tests/auto/controls/data/tst_groupbox.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_itemdelegate.qml b/tests/auto/controls/data/tst_itemdelegate.qml
index 1c236361..6a4b29b4 100644
--- a/tests/auto/controls/data/tst_itemdelegate.qml
+++ b/tests/auto/controls/data/tst_itemdelegate.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
@@ -118,11 +118,11 @@ TestCase {
text: "ItemDelegate",
display: data.display,
width: 400,
- "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png",
+ "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png",
"LayoutMirroring.enabled": !!data.mirrored
})
verify(control)
- compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png")
+ compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png")
var iconImage = findChild(control.contentItem, "image")
var textLabel = findChild(control.contentItem, "label")
diff --git a/tests/auto/controls/data/tst_label.qml b/tests/auto/controls/data/tst_label.qml
index 8384e932..d6efb137 100644
--- a/tests/auto/controls/data/tst_label.qml
+++ b/tests/auto/controls/data/tst_label.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_menuitem.qml b/tests/auto/controls/data/tst_menuitem.qml
index ef074d1d..be84ae90 100644
--- a/tests/auto/controls/data/tst_menuitem.qml
+++ b/tests/auto/controls/data/tst_menuitem.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
@@ -119,11 +119,11 @@ TestCase {
var control = createTemporaryObject(menuItem, testCase, {
text: "MenuItem",
display: data.display,
- "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png",
+ "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png",
"LayoutMirroring.enabled": !!data.mirrored
})
verify(control)
- compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png")
+ compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png")
var padding = data.mirrored ? control.contentItem.rightPadding : control.contentItem.leftPadding
var iconImage = findChild(control.contentItem, "image")
diff --git a/tests/auto/controls/data/tst_page.qml b/tests/auto/controls/data/tst_page.qml
index 252c6ebf..ae78a125 100644
--- a/tests/auto/controls/data/tst_page.qml
+++ b/tests/auto/controls/data/tst_page.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_pageindicator.qml b/tests/auto/controls/data/tst_pageindicator.qml
index 0f68b5d8..765c52a7 100644
--- a/tests/auto/controls/data/tst_pageindicator.qml
+++ b/tests/auto/controls/data/tst_pageindicator.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_pane.qml b/tests/auto/controls/data/tst_pane.qml
index 4006474b..d44d7424 100644
--- a/tests/auto/controls/data/tst_pane.qml
+++ b/tests/auto/controls/data/tst_pane.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_popup.qml b/tests/auto/controls/data/tst_popup.qml
index 71d6f2d7..2c94e87b 100644
--- a/tests/auto/controls/data/tst_popup.qml
+++ b/tests/auto/controls/data/tst_popup.qml
@@ -48,10 +48,10 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
-import QtQuick.Templates 2.12 as T
+import QtQuick
+import QtTest
+import QtQuick.Controls
+import QtQuick.Templates as T
TestCase {
id: testCase
@@ -1062,8 +1062,8 @@ TestCase {
function findOverlay(window, popup) {
var item = popup.contentItem.parent
- var idx = indexOf(window.overlay.children, item)
- return window.overlay.children[idx - 1]
+ var idx = indexOf(window.Overlay.overlay.children, item)
+ return window.Overlay.overlay.children[idx - 1]
}
function test_overlay() {
@@ -1073,42 +1073,41 @@ TestCase {
window.requestActivate()
tryCompare(window, "active", true)
- compare(window.overlay.children.length, 0)
- compare(window.overlay, window.Overlay.overlay)
+ compare(window.Overlay.overlay.children.length, 0)
var firstOverlay = findOverlay(window, window.firstDrawer)
verify(!firstOverlay)
window.firstDrawer.open()
- compare(window.overlay.children.length, 2) // 1 drawer + 1 overlay
+ compare(window.Overlay.overlay.children.length, 2) // 1 drawer + 1 overlay
firstOverlay = findOverlay(window, window.firstDrawer)
verify(firstOverlay)
compare(firstOverlay.z, window.firstDrawer.z)
- compare(indexOf(window.overlay.children, firstOverlay),
- indexOf(window.overlay.children, window.firstDrawer.contentItem.parent) - 1)
+ compare(indexOf(window.Overlay.overlay.children, firstOverlay),
+ indexOf(window.Overlay.overlay.children, window.firstDrawer.contentItem.parent) - 1)
tryCompare(firstOverlay, "opacity", 1.0)
var secondOverlay = findOverlay(window, window.secondDrawer)
verify(!secondOverlay)
window.secondDrawer.open()
- compare(window.overlay.children.length, 4) // 2 drawers + 2 overlays
+ compare(window.Overlay.overlay.children.length, 4) // 2 drawers + 2 overlays
secondOverlay = findOverlay(window, window.secondDrawer)
verify(secondOverlay)
compare(secondOverlay.z, window.secondDrawer.z)
- compare(indexOf(window.overlay.children, secondOverlay),
- indexOf(window.overlay.children, window.secondDrawer.contentItem.parent) - 1)
+ compare(indexOf(window.Overlay.overlay.children, secondOverlay),
+ indexOf(window.Overlay.overlay.children, window.secondDrawer.contentItem.parent) - 1)
tryCompare(secondOverlay, "opacity", 1.0)
window.firstDrawer.close()
tryCompare(window.firstDrawer, "visible", false)
firstOverlay = findOverlay(window, window.firstDrawer)
verify(!firstOverlay)
- compare(window.overlay.children.length, 2) // 1 drawer + 1 overlay
+ compare(window.Overlay.overlay.children.length, 2) // 1 drawer + 1 overlay
window.secondDrawer.close()
tryCompare(window.secondDrawer, "visible", false)
secondOverlay = findOverlay(window, window.secondDrawer)
verify(!secondOverlay)
- compare(window.overlay.children.length, 0)
+ compare(window.Overlay.overlay.children.length, 0)
var modalOverlay = findOverlay(window, window.modalPopup)
verify(!modalOverlay)
@@ -1118,7 +1117,7 @@ TestCase {
compare(modalOverlay.z, window.modalPopup.z)
compare(window.modalPopup.visible, true)
tryCompare(modalOverlay, "opacity", 1.0)
- compare(window.overlay.children.length, 2) // 1 popup + 1 overlay
+ compare(window.Overlay.overlay.children.length, 2) // 1 popup + 1 overlay
var modelessOverlay = findOverlay(window, window.modelessPopup)
verify(!modelessOverlay)
@@ -1128,13 +1127,13 @@ TestCase {
compare(modelessOverlay.z, window.modelessPopup.z)
compare(window.modelessPopup.visible, true)
tryCompare(modelessOverlay, "opacity", 1.0)
- compare(window.overlay.children.length, 4) // 2 popups + 2 overlays
+ compare(window.Overlay.overlay.children.length, 4) // 2 popups + 2 overlays
window.modelessPopup.close()
tryCompare(window.modelessPopup, "visible", false)
modelessOverlay = findOverlay(window, window.modelessPopup)
verify(!modelessOverlay)
- compare(window.overlay.children.length, 2) // 1 popup + 1 overlay
+ compare(window.Overlay.overlay.children.length, 2) // 1 popup + 1 overlay
compare(window.modalPopup.visible, true)
compare(modalOverlay.opacity, 1.0)
@@ -1143,29 +1142,29 @@ TestCase {
tryCompare(window.modalPopup, "visible", false)
modalOverlay = findOverlay(window, window.modalPopup)
verify(!modalOverlay)
- compare(window.overlay.children.length, 0)
+ compare(window.Overlay.overlay.children.length, 0)
window.plainPopup.open()
tryCompare(window.plainPopup, "visible", true)
- compare(window.overlay.children.length, 1) // only popup added, no overlays involved
+ compare(window.Overlay.overlay.children.length, 1) // only popup added, no overlays involved
window.plainPopup.modal = true
- compare(window.overlay.children.length, 2) // overlay added
+ compare(window.Overlay.overlay.children.length, 2) // overlay added
window.plainPopup.close()
tryCompare(window.plainPopup, "visible", false)
- compare(window.overlay.children.length, 0) // popup + overlay removed
+ compare(window.Overlay.overlay.children.length, 0) // popup + overlay removed
window.modalPopupWithoutDim.open()
tryCompare(window.modalPopupWithoutDim, "visible", true)
- compare(window.overlay.children.length, 1) // only popup added, no overlays involved
+ compare(window.Overlay.overlay.children.length, 1) // only popup added, no overlays involved
window.modalPopupWithoutDim.dim = true
- compare(window.overlay.children.length, 2) // overlay added
+ compare(window.Overlay.overlay.children.length, 2) // overlay added
window.modalPopupWithoutDim.close()
tryCompare(window.modalPopupWithoutDim, "visible", false)
- compare(window.overlay.children.length, 0) // popup + overlay removed
+ compare(window.Overlay.overlay.children.length, 0) // popup + overlay removed
}
function test_attached_applicationwindow() {
@@ -1276,6 +1275,9 @@ TestCase {
{ visible: true, width: 100, height: 100 })
verify(control)
verify(control.visible)
+ // If there is a transition then make sure it is finished
+ if (control.enter !== null)
+ tryCompare(control.enter, "running", false)
compare(control.parent, control.Overlay.overlay)
compare(control.x, 0)
compare(control.y, 0)
diff --git a/tests/auto/controls/data/tst_progressbar.qml b/tests/auto/controls/data/tst_progressbar.qml
index 74840551..1bb66bb7 100644
--- a/tests/auto/controls/data/tst_progressbar.qml
+++ b/tests/auto/controls/data/tst_progressbar.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_radiobutton.qml b/tests/auto/controls/data/tst_radiobutton.qml
index c16f615c..42ef9a15 100644
--- a/tests/auto/controls/data/tst_radiobutton.qml
+++ b/tests/auto/controls/data/tst_radiobutton.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_radiodelegate.qml b/tests/auto/controls/data/tst_radiodelegate.qml
index ff11fffb..9a4e2812 100644
--- a/tests/auto/controls/data/tst_radiodelegate.qml
+++ b/tests/auto/controls/data/tst_radiodelegate.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
@@ -126,11 +126,11 @@ TestCase {
text: "RadioDelegate",
display: data.display,
width: 400,
- "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png",
+ "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png",
"LayoutMirroring.enabled": !!data.mirrored
})
verify(control)
- compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png")
+ compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png")
var iconImage = findChild(control.contentItem, "image")
var textLabel = findChild(control.contentItem, "label")
diff --git a/tests/auto/controls/data/tst_rangeslider.qml b/tests/auto/controls/data/tst_rangeslider.qml
index 24f8a207..55fedd1c 100644
--- a/tests/auto/controls/data/tst_rangeslider.qml
+++ b/tests/auto/controls/data/tst_rangeslider.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_roundbutton.qml b/tests/auto/controls/data/tst_roundbutton.qml
index 5f4cc5fa..c683d457 100644
--- a/tests/auto/controls/data/tst_roundbutton.qml
+++ b/tests/auto/controls/data/tst_roundbutton.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
@@ -122,11 +122,11 @@ TestCase {
var control = createTemporaryObject(roundButton, testCase, {
text: "RoundButton",
display: data.display,
- "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png",
+ "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png",
"LayoutMirroring.enabled": !!data.mirrored
})
verify(control)
- compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png")
+ compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png")
var iconImage = findChild(control.contentItem, "image")
var textLabel = findChild(control.contentItem, "label")
diff --git a/tests/auto/controls/data/tst_scrollbar.qml b/tests/auto/controls/data/tst_scrollbar.qml
index 9d21fa8b..29b04c53 100644
--- a/tests/auto/controls/data/tst_scrollbar.qml
+++ b/tests/auto/controls/data/tst_scrollbar.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_scrollindicator.qml b/tests/auto/controls/data/tst_scrollindicator.qml
index c23bf3e5..5f6006d4 100644
--- a/tests/auto/controls/data/tst_scrollindicator.qml
+++ b/tests/auto/controls/data/tst_scrollindicator.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_scrollview.qml b/tests/auto/controls/data/tst_scrollview.qml
index 87c39509..d8c210a4 100644
--- a/tests/auto/controls/data/tst_scrollview.qml
+++ b/tests/auto/controls/data/tst_scrollview.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_slider.qml b/tests/auto/controls/data/tst_slider.qml
index 280138c5..9f123476 100644
--- a/tests/auto/controls/data/tst_slider.qml
+++ b/tests/auto/controls/data/tst_slider.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_spinbox.qml b/tests/auto/controls/data/tst_spinbox.qml
index a5c40cd3..5898ff52 100644
--- a/tests/auto/controls/data/tst_spinbox.qml
+++ b/tests/auto/controls/data/tst_spinbox.qml
@@ -48,10 +48,10 @@
**
****************************************************************************/
-import QtQuick 2.14
-import QtTest 1.0
-import QtQuick.Controls 2.12
-import QtQuick.Window 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
+import QtQuick.Window
TestCase {
id: testCase
@@ -549,6 +549,12 @@ TestCase {
compare(valueFromTextCalls, data.editable ? 3 : 0)
}
+ function test_callDefaultValueFromText() {
+ var control = createTemporaryObject(spinBox, testCase)
+ verify(control)
+ compare(control.valueFromText("123", control.locale), 123)
+ }
+
function test_autoRepeat() {
var control = createTemporaryObject(spinBox, testCase)
verify(control)
@@ -659,6 +665,12 @@ TestCase {
}
}
+ function test_callDefaultTextFromValue() {
+ var control = createTemporaryObject(spinBox, testCase)
+ verify(control)
+ compare(control.textFromValue(123, control.locale), "123")
+ }
+
Component {
id: overriddenSpinBox
SpinBox {
diff --git a/tests/auto/controls/data/tst_splitview.qml b/tests/auto/controls/data/tst_splitview.qml
index d78ef95a..ac6d1a4d 100644
--- a/tests/auto/controls/data/tst_splitview.qml
+++ b/tests/auto/controls/data/tst_splitview.qml
@@ -48,11 +48,11 @@
**
****************************************************************************/
-import QtQuick 2.13
-import QtQuick.Controls 2.13
-import QtQuick.Window 2.13
-import QtTest 1.13
-import Qt.labs.settings 1.0
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Window
+import QtTest
+import Qt.labs.settings
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_stackview.qml b/tests/auto/controls/data/tst_stackview.qml
index 767ec818..a3df827a 100644
--- a/tests/auto/controls/data/tst_stackview.qml
+++ b/tests/auto/controls/data/tst_stackview.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
@@ -406,7 +406,7 @@ TestCase {
// unsupported type
ignoreWarning(Qt.resolvedUrl("tst_stackview.qml") + ":69:9: QML StackView: push: QtObject is not supported. Must be Item or Component.")
- control.push(Qt.createQmlObject('import QtQml 2.0; QtObject { }', control))
+ control.push(Qt.createQmlObject('import QtQml; QtObject { }', control))
// push(item)
var item1 = component.createObject(control, {objectName:"1"})
@@ -506,7 +506,7 @@ TestCase {
// unsupported type
ignoreWarning(Qt.resolvedUrl("tst_stackview.qml") + ":69:9: QML StackView: replace: QtObject is not supported. Must be Item or Component.")
- compare(control.replace(Qt.createQmlObject('import QtQml 2.0; QtObject { }', control)), null)
+ compare(control.replace(Qt.createQmlObject('import QtQml; QtObject { }', control)), null)
// replace(item)
var item1 = component.createObject(control, {objectName:"1"})
diff --git a/tests/auto/controls/data/tst_swipedelegate.qml b/tests/auto/controls/data/tst_swipedelegate.qml
index 71eb0b99..98273066 100644
--- a/tests/auto/controls/data/tst_swipedelegate.qml
+++ b/tests/auto/controls/data/tst_swipedelegate.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
@@ -196,7 +196,8 @@ TestCase {
mousePress(control, control.width / 2, control.height / 2, Qt.LeftButton);
mouseMove(control, control.width / 2 + distance, control.height / 2);
mouseRelease(control, control.width / 2 + distance, control.height / 2, Qt.LeftButton);
- compare(control.swipe.position, to);
+ compare(control.swipe.position, to, "Expected swipe.position to be " + to
+ + " after swiping from " + from + ", but it's " + control.swipe.position);
if (control.swipe.position === -1.0) {
if (control.swipe.right)
@@ -1110,6 +1111,70 @@ TestCase {
swipe(control, 0.0, -1.0);
}
+ function test_callCloseWhenAlreadyClosed() {
+ let control = createTemporaryObject(swipeDelegateComponent, testCase)
+ verify(control)
+
+ let closedSpy = signalSpyComponent.createObject(control, { target: control.swipe, signalName: "closed" })
+ verify(closedSpy)
+ verify(closedSpy.valid)
+
+ // Calling close() when it's already closed should have no effect.
+ control.swipe.close()
+ compare(closedSpy.count, 0)
+
+ // The game goes for calling close() in response to a click.
+ control.clicked.connect(function() { control.swipe.close() })
+ mouseClick(control)
+ compare(closedSpy.count, 0)
+ }
+
+ // Can't just connect to pressed in QML, because there is a pressed property
+ // that conflicts with the signal.
+ Component {
+ id: swipeDelegateCloseOnPressedComponent
+
+ SwipeDelegate {
+ text: "SwipeDelegate"
+ width: 150
+ swipe.right: Rectangle {
+ objectName: "rightItem"
+ width: parent.width / 2
+ height: parent.height
+ color: "tomato"
+ }
+
+ onPressed: swipe.close()
+ }
+ }
+
+ /*
+ We don't want to support closing on pressed(); released() or clicked()
+ should be used instead. However, calling swipe.close() in response to
+ a press should still not cause closed() to be emitted.
+ */
+ function test_closeOnPressed() {
+ let control = createTemporaryObject(swipeDelegateCloseOnPressedComponent, testCase)
+ verify(control)
+
+ swipe(control, 0.0, -1.0)
+
+ let closedSpy = signalSpyComponent.createObject(control, { target: control.swipe, signalName: "closed" })
+ verify(closedSpy)
+ verify(closedSpy.valid)
+
+ mousePress(control, control.width * 0.1)
+ compare(closedSpy.count, 0)
+ compare(control.swipe.position, -1.0)
+
+ // Simulate a somewhat realistic delay between press and release
+ // to ensure that the bug is triggered.
+ wait(100)
+ mouseRelease(control, control.width * 0.1)
+ compare(closedSpy.count, 0)
+ compare(control.swipe.position, -1.0)
+ }
+
Component {
id: multiActionSwipeDelegateComponent
@@ -1607,11 +1672,11 @@ TestCase {
text: "SwipeDelegate",
display: data.display,
width: 400,
- "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png",
+ "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png",
"LayoutMirroring.enabled": !!data.mirrored
})
verify(control)
- compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png")
+ compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png")
var iconImage = findChild(control.contentItem, "image")
var textLabel = findChild(control.contentItem, "label")
diff --git a/tests/auto/controls/data/tst_swipeview.qml b/tests/auto/controls/data/tst_swipeview.qml
index 41826117..68b91c35 100644
--- a/tests/auto/controls/data/tst_swipeview.qml
+++ b/tests/auto/controls/data/tst_swipeview.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_switch.qml b/tests/auto/controls/data/tst_switch.qml
index 8ec8ffb4..9050964f 100644
--- a/tests/auto/controls/data/tst_switch.qml
+++ b/tests/auto/controls/data/tst_switch.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_switchdelegate.qml b/tests/auto/controls/data/tst_switchdelegate.qml
index 1c96023f..4cf90bb6 100644
--- a/tests/auto/controls/data/tst_switchdelegate.qml
+++ b/tests/auto/controls/data/tst_switchdelegate.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
@@ -560,11 +560,11 @@ TestCase {
text: "SwitchDelegate",
display: data.display,
width: 400,
- "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png",
+ "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png",
"LayoutMirroring.enabled": !!data.mirrored
})
verify(control)
- compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png")
+ compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png")
var iconImage = findChild(control.contentItem, "image")
var textLabel = findChild(control.contentItem, "label")
diff --git a/tests/auto/controls/data/tst_tabbar.qml b/tests/auto/controls/data/tst_tabbar.qml
index ce42632f..3659a0ab 100644
--- a/tests/auto/controls/data/tst_tabbar.qml
+++ b/tests/auto/controls/data/tst_tabbar.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_tabbutton.qml b/tests/auto/controls/data/tst_tabbutton.qml
index 96384769..c399c014 100644
--- a/tests/auto/controls/data/tst_tabbutton.qml
+++ b/tests/auto/controls/data/tst_tabbutton.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
@@ -134,11 +134,11 @@ TestCase {
var control = createTemporaryObject(tabButton, testCase, {
text: "TabButton",
display: data.display,
- "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png",
+ "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png",
"LayoutMirroring.enabled": !!data.mirrored
})
verify(control)
- compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png")
+ compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png")
var iconImage = findChild(control.contentItem, "image")
var textLabel = findChild(control.contentItem, "label")
diff --git a/tests/auto/controls/data/tst_textarea.qml b/tests/auto/controls/data/tst_textarea.qml
index e9e1e2e2..653e7ad5 100644
--- a/tests/auto/controls/data/tst_textarea.qml
+++ b/tests/auto/controls/data/tst_textarea.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_textfield.qml b/tests/auto/controls/data/tst_textfield.qml
index 2ee1db41..f1ac17c9 100644
--- a/tests/auto/controls/data/tst_textfield.qml
+++ b/tests/auto/controls/data/tst_textfield.qml
@@ -48,10 +48,10 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
-import QtQuick.Layouts 1.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
+import QtQuick.Layouts
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_toolbar.qml b/tests/auto/controls/data/tst_toolbar.qml
index 09c3a830..b35a927d 100644
--- a/tests/auto/controls/data/tst_toolbar.qml
+++ b/tests/auto/controls/data/tst_toolbar.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_toolbutton.qml b/tests/auto/controls/data/tst_toolbutton.qml
index 622554c7..ca044a89 100644
--- a/tests/auto/controls/data/tst_toolbutton.qml
+++ b/tests/auto/controls/data/tst_toolbutton.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
@@ -199,11 +199,11 @@ TestCase {
var control = createTemporaryObject(toolButton, testCase, {
text: "ToolButton",
display: data.display,
- "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png",
+ "icon.source": "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png",
"LayoutMirroring.enabled": !!data.mirrored
})
verify(control)
- compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls.2/images/check.png")
+ compare(control.icon.source, "qrc:/qt-project.org/imports/QtQuick/Controls/Default/images/check.png")
var iconImage = findChild(control.contentItem, "image")
var textLabel = findChild(control.contentItem, "label")
diff --git a/tests/auto/controls/data/tst_toolseparator.qml b/tests/auto/controls/data/tst_toolseparator.qml
index d3581b96..41c161dd 100644
--- a/tests/auto/controls/data/tst_toolseparator.qml
+++ b/tests/auto/controls/data/tst_toolseparator.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_tooltip.qml b/tests/auto/controls/data/tst_tooltip.qml
index 4b4bf4fa..6ca17263 100644
--- a/tests/auto/controls/data/tst_tooltip.qml
+++ b/tests/auto/controls/data/tst_tooltip.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
diff --git a/tests/auto/controls/data/tst_tumbler.qml b/tests/auto/controls/data/tst_tumbler.qml
index 5b3ef6e3..c103aefc 100644
--- a/tests/auto/controls/data/tst_tumbler.qml
+++ b/tests/auto/controls/data/tst_tumbler.qml
@@ -48,9 +48,9 @@
**
****************************************************************************/
-import QtQuick 2.12
-import QtTest 1.0
-import QtQuick.Controls 2.12
+import QtQuick
+import QtTest
+import QtQuick.Controls
TestCase {
id: testCase
@@ -383,7 +383,7 @@ TestCase {
verify(tumbler);
var mouseArea = createTemporaryQmlObject(
- "import QtQuick 2.2; TextInput { activeFocusOnTab: true; width: 50; height: 50 }", testCase, "");
+ "import QtQuick; TextInput { activeFocusOnTab: true; width: 50; height: 50 }", testCase, "");
tumbler.forceActiveFocus();
verify(tumbler.activeFocus);
diff --git a/tests/auto/controls/default/dependencies.qml b/tests/auto/controls/default/dependencies.qml
index 7ffafb84..f7d87422 100644
--- a/tests/auto/controls/default/dependencies.qml
+++ b/tests/auto/controls/default/dependencies.qml
@@ -1,5 +1,5 @@
-import QtTest 1.0
-import QtQuick 2.12
-import QtQuick.Controls 2.12
+import QtTest
+import QtQuick
+import QtQuick.Controls
TestCase { }
diff --git a/tests/auto/controls/fusion/dependencies.qml b/tests/auto/controls/fusion/dependencies.qml
index 2da1b2bb..f2e40e60 100644
--- a/tests/auto/controls/fusion/dependencies.qml
+++ b/tests/auto/controls/fusion/dependencies.qml
@@ -1,6 +1,6 @@
-import QtTest 1.0
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Fusion 2.12
+import QtTest
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Controls.Fusion
TestCase { }
diff --git a/tests/auto/controls/imagine/dependencies.qml b/tests/auto/controls/imagine/dependencies.qml
index e681aa4f..9a31141b 100644
--- a/tests/auto/controls/imagine/dependencies.qml
+++ b/tests/auto/controls/imagine/dependencies.qml
@@ -1,6 +1,6 @@
-import QtTest 1.0
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Imagine 2.12
+import QtTest
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Controls.Imagine
TestCase { }
diff --git a/tests/auto/controls/material/dependencies.qml b/tests/auto/controls/material/dependencies.qml
index f926944e..8bcf0301 100644
--- a/tests/auto/controls/material/dependencies.qml
+++ b/tests/auto/controls/material/dependencies.qml
@@ -1,6 +1,6 @@
-import QtTest 1.0
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Material 2.12
+import QtTest
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Controls.Material
TestCase { }
diff --git a/tests/auto/controls/universal/dependencies.qml b/tests/auto/controls/universal/dependencies.qml
index a4a0d0a0..8ba71c83 100644
--- a/tests/auto/controls/universal/dependencies.qml
+++ b/tests/auto/controls/universal/dependencies.qml
@@ -1,6 +1,6 @@
-import QtTest 1.0
-import QtQuick 2.12
-import QtQuick.Controls 2.12
-import QtQuick.Controls.Universal 2.12
+import QtTest
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Controls.Universal
TestCase { }