aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/controls/data/tst_control.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/controls/data/tst_control.qml')
-rw-r--r--tests/auto/controls/data/tst_control.qml273
1 files changed, 233 insertions, 40 deletions
diff --git a/tests/auto/controls/data/tst_control.qml b/tests/auto/controls/data/tst_control.qml
index 15b25112..7fe61064 100644
--- a/tests/auto/controls/data/tst_control.qml
+++ b/tests/auto/controls/data/tst_control.qml
@@ -57,16 +57,6 @@ TestCase {
}
SignalSpy {
- id: layoutDirectionSpy
- signalName: "layoutDirectionChanged"
- }
-
- SignalSpy {
- id: effectiveLayoutDirectionSpy
- signalName: "effectiveLayoutDirectionChanged"
- }
-
- SignalSpy {
id: mirroredSpy
signalName: "mirroredChanged"
}
@@ -213,54 +203,33 @@ TestCase {
control.destroy()
}
- function test_layoutDirection() {
+ function test_mirrored() {
var control = component.createObject(testCase)
verify(control)
- layoutDirectionSpy.target = control
- effectiveLayoutDirectionSpy.target = control
mirroredSpy.target = control
-
- verify(layoutDirectionSpy.valid)
- verify(effectiveLayoutDirectionSpy.valid)
verify(mirroredSpy.valid)
+ control.locale = Qt.locale("en_US")
+ compare(control.locale.name, "en_US")
verify(!control.LayoutMirroring.enabled)
- compare(control.layoutDirection, Qt.LeftToRight)
- compare(control.effectiveLayoutDirection, Qt.LeftToRight)
compare(control.mirrored, false)
- control.layoutDirection = Qt.RightToLeft
- compare(control.layoutDirection, Qt.RightToLeft)
- compare(control.effectiveLayoutDirection, Qt.RightToLeft)
+ control.locale = Qt.locale("ar_EG")
compare(control.mirrored, true)
- compare(layoutDirectionSpy.count, 1)
- compare(effectiveLayoutDirectionSpy.count, 1)
compare(mirroredSpy.count, 1)
control.LayoutMirroring.enabled = true
- compare(control.layoutDirection, Qt.RightToLeft)
- compare(control.effectiveLayoutDirection, Qt.LeftToRight)
- compare(control.mirrored, false)
- compare(layoutDirectionSpy.count, 1)
- compare(effectiveLayoutDirectionSpy.count, 2)
- compare(mirroredSpy.count, 2)
+ compare(control.mirrored, true)
+ compare(mirroredSpy.count, 1)
- control.layoutDirection = Qt.LeftToRight
- compare(control.layoutDirection, Qt.LeftToRight)
- compare(control.effectiveLayoutDirection, Qt.RightToLeft)
+ control.locale = Qt.locale("en_US")
compare(control.mirrored, true)
- compare(layoutDirectionSpy.count, 2)
- compare(effectiveLayoutDirectionSpy.count, 3)
- compare(mirroredSpy.count, 3)
+ compare(mirroredSpy.count, 1)
control.LayoutMirroring.enabled = false
- compare(control.layoutDirection, Qt.LeftToRight)
- compare(control.effectiveLayoutDirection, Qt.LeftToRight)
compare(control.mirrored, false)
- compare(layoutDirectionSpy.count, 2)
- compare(effectiveLayoutDirectionSpy.count, 4)
- compare(mirroredSpy.count, 4)
+ compare(mirroredSpy.count, 2)
control.destroy()
}
@@ -656,4 +625,228 @@ TestCase {
control4.destroy()
}
+
+ function test_locale() {
+ var control = component.createObject(testCase)
+ verify(control)
+
+ control.locale = Qt.locale("en_US")
+ compare(control.locale.name, "en_US")
+
+ control.locale = Qt.locale("nb_NO")
+ compare(control.locale.name, "nb_NO")
+
+ control.destroy()
+ }
+
+ Component {
+ id: component5
+ T.Control {
+ id: item2
+ objectName: "item2"
+ property alias localespy: _lspy;
+ property alias mirroredspy: _mspy;
+ property alias localespy_2: _lspy_2;
+ property alias mirroredspy_2: _mspy_2;
+ property alias localespy_3: _lspy_3;
+ property alias mirroredspy_3: _mspy_3;
+ property alias item2_2: _item2_2;
+ property alias item2_3: _item2_3;
+ T.Control {
+ id: _item2_2
+ objectName: "_item2_2"
+ T.Control {
+ id: _item2_3
+ objectName: "_item2_3"
+
+ SignalSpy {
+ id: _lspy_3
+ target: item2_3
+ signalName: "localeChanged"
+ }
+
+ SignalSpy {
+ id: _mspy_3
+ target: item2_3
+ signalName: "mirroredChanged"
+ }
+ }
+
+ SignalSpy {
+ id: _lspy_2
+ target: item2_2
+ signalName: "localeChanged"
+ }
+
+ SignalSpy {
+ id: _mspy_2
+ target: item2_2
+ signalName: "mirroredChanged"
+ }
+ }
+
+ SignalSpy {
+ id: _lspy
+ target: item2
+ signalName: "localeChanged"
+ }
+
+ SignalSpy {
+ id: _mspy
+ target: item2
+ signalName: "mirroredChanged"
+ }
+ }
+ }
+
+ function test_locale_2() {
+ var control = component5.createObject(testCase)
+ verify(control)
+ verify(control.item2_2)
+ verify(control.item2_3)
+
+ var defaultLocale = Qt.locale()
+
+ compare(control.locale.name, defaultLocale.name)
+ compare(control.item2_2.locale.name, defaultLocale.name)
+ compare(control.item2_3.locale.name, defaultLocale.name)
+
+ control.locale = Qt.locale("nb_NO")
+ control.localespy.wait()
+ compare(control.localespy.count, 1)
+ compare(control.mirroredspy.count, 0)
+ compare(control.locale.name, "nb_NO")
+ compare(control.item2_2.locale.name, "nb_NO")
+ compare(control.item2_3.locale.name, "nb_NO")
+ compare(control.localespy_2.count, 1)
+ compare(control.mirroredspy_2.count, 0)
+ compare(control.localespy_3.count, 1)
+ compare(control.mirroredspy_3.count, 0)
+
+ control.locale = Qt.locale("ar_EG")
+ control.localespy.wait()
+ compare(control.localespy.count, 2)
+ compare(control.mirroredspy.count, 1)
+ compare(control.locale.name, "ar_EG")
+ compare(control.item2_2.locale.name, "ar_EG")
+ compare(control.item2_3.locale.name, "ar_EG")
+ compare(control.localespy_2.count, 2)
+ compare(control.mirroredspy_2.count, 1)
+ compare(control.localespy_3.count, 2)
+ compare(control.mirroredspy_3.count, 1)
+ }
+
+ Component {
+ id: component6
+ T.Control {
+ id: item6
+ objectName: "item6"
+ property alias localespy: _lspy;
+ property alias mirroredspy: _mspy;
+ property alias localespy_5: _lspy_5;
+ property alias mirroredspy_5: _mspy_5;
+ property alias item6_2: _item6_2;
+ property alias item6_3: _item6_3;
+ property alias item6_4: _item6_4;
+ property alias item6_5: _item6_5;
+ Item {
+ id: _item6_2
+ objectName: "_item6_2"
+ T.Control {
+ id: _item6_3
+ objectName: "_item6_3"
+ Item {
+ id: _item6_4
+ objectName: "_item6_4"
+ T.Control {
+ id: _item6_5
+ objectName: "_item6_5"
+
+ SignalSpy {
+ id: _lspy_5
+ target: _item6_5
+ signalName: "localeChanged"
+ }
+
+ SignalSpy {
+ id: _mspy_5
+ target: _item6_5
+ signalName: "mirroredChanged"
+ }
+ }
+ }
+ }
+ }
+
+ SignalSpy {
+ id: _lspy
+ target: item6
+ signalName: "localeChanged"
+ }
+
+ SignalSpy {
+ id: _mspy
+ target: item6
+ signalName: "mirroredChanged"
+ }
+ }
+ }
+
+ function test_locale_3() {
+ var control = component6.createObject(testCase)
+ verify(control)
+ verify(control.item6_2)
+ verify(control.item6_3)
+ verify(control.item6_4)
+ verify(control.item6_5)
+
+ var defaultLocale = Qt.locale()
+
+ compare(control.locale.name, defaultLocale.name)
+ compare(control.item6_5.locale.name, defaultLocale.name)
+
+ control.locale = Qt.locale("nb_NO")
+ control.localespy.wait()
+ compare(control.localespy.count, 1)
+ compare(control.mirroredspy.count, 0)
+ compare(control.locale.name, "nb_NO")
+ compare(control.item6_5.locale.name, "nb_NO")
+ compare(control.localespy_5.count, 1)
+ compare(control.mirroredspy_5.count, 0)
+
+ control.locale = Qt.locale("ar_EG")
+ control.localespy.wait()
+ compare(control.localespy.count, 2)
+ compare(control.mirroredspy.count, 1)
+ compare(control.locale.name, "ar_EG")
+ compare(control.item6_5.locale.name, "ar_EG")
+ compare(control.localespy_5.count, 2)
+ compare(control.mirroredspy_5.count, 1)
+ }
+
+ function test_focusReason_data() {
+ return [
+ { tag: "Control", qml: "import Qt.labs.controls 1.0; Control { }" },
+ { tag: "TextField", qml: "import Qt.labs.controls 1.0; TextField { }" },
+ { tag: "TextArea", qml: "import Qt.labs.controls 1.0; TextArea { }" },
+ { tag: "SpinBox", qml: "import Qt.labs.controls 1.0; SpinBox { }" },
+ { tag: "ComboBox", qml: "import Qt.labs.controls 1.0; ComboBox { }" }
+ ]
+ }
+
+ function test_focusReason(data) {
+ var control = Qt.createQmlObject(data.qml, testCase)
+ verify(control)
+
+ compare(control.focusReason, Qt.OtherFocusReason)
+ control.forceActiveFocus(Qt.MouseFocusReason)
+ compare(control.activeFocus, true)
+ compare(control.focusReason, Qt.MouseFocusReason)
+
+ testCase.forceActiveFocus(Qt.TabFocusReason)
+ compare(control.activeFocus, false)
+ compare(control.focusReason, Qt.TabFocusReason)
+
+ control.destroy()
+ }
}