aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorHyunkook Khang <hyunkook.khang@qt.io>2021-02-23 10:51:31 +0900
committerMitch Curtis <mitch.curtis@qt.io>2021-05-26 13:51:21 +0200
commit6b687ad7ec46fed10766f5d26809c4fe430db608 (patch)
treee7894ddb58b4735339a9137e4d9e923fb9ac6bfb /tests/auto
parent14d35455e351f50ce91e71b1e27f6ee58c0c8fd0 (diff)
Fix layout is always RTL when locale is RTL
isMirrored() will always return true when locale is RTL, so that we cannot change the layout. To fix this, remove out the relation between LayoutMirroring.enabled and locale's text direction. [ChangeLog][Controls][Important Behavior Changes] Control's locale property no longer affects layout direction. Use LayoutMirroring instead. Fixes: QTBUG-91227 Change-Id: Ibedd3f09828f81f1889077892452a27c90e21533 Reviewed-by: Hyunkook Khang <hyunkook.khang@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/controls/data/tst_control.qml14
-rw-r--r--tests/auto/controls/data/tst_popup.qml52
-rw-r--r--tests/auto/controls/data/tst_progressbar.qml2
-rw-r--r--tests/auto/controls/data/tst_rangeslider.qml11
-rw-r--r--tests/auto/controls/data/tst_scrollbar.qml2
-rw-r--r--tests/auto/controls/data/tst_slider.qml6
-rw-r--r--tests/auto/qquickmenu/tst_qquickmenu.cpp42
7 files changed, 73 insertions, 56 deletions
diff --git a/tests/auto/controls/data/tst_control.qml b/tests/auto/controls/data/tst_control.qml
index 1bbbe42a..4afa719e 100644
--- a/tests/auto/controls/data/tst_control.qml
+++ b/tests/auto/controls/data/tst_control.qml
@@ -435,8 +435,8 @@ TestCase {
compare(control.mirrored, false)
control.locale = Qt.locale("ar_EG")
- compare(control.mirrored, true)
- compare(mirroredSpy.count, 1)
+ compare(control.mirrored, false)
+ compare(mirroredSpy.count, 0)
control.LayoutMirroring.enabled = true
compare(control.mirrored, true)
@@ -960,14 +960,14 @@ TestCase {
control.locale = Qt.locale("ar_EG")
control.localespy.wait()
compare(control.localespy.count, 2)
- compare(control.mirroredspy.count, 1)
+ compare(control.mirroredspy.count, 0)
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.mirroredspy_2.count, 0)
compare(control.localespy_3.count, 2)
- compare(control.mirroredspy_3.count, 1)
+ compare(control.mirroredspy_3.count, 0)
}
Component {
@@ -1051,11 +1051,11 @@ TestCase {
control.locale = Qt.locale("ar_EG")
control.localespy.wait()
compare(control.localespy.count, 2)
- compare(control.mirroredspy.count, 1)
+ compare(control.mirroredspy.count, 0)
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)
+ compare(control.mirroredspy_5.count, 0)
}
function test_hover_data() {
diff --git a/tests/auto/controls/data/tst_popup.qml b/tests/auto/controls/data/tst_popup.qml
index 2c94e87b..145f5552 100644
--- a/tests/auto/controls/data/tst_popup.qml
+++ b/tests/auto/controls/data/tst_popup.qml
@@ -810,9 +810,9 @@ TestCase {
compare(control.popup.button1.locale.name, defaultLocale.name)
compare(control.popup.button2.locale.name, defaultLocale.name)
compare(control.localespy.count, 3)
- compare(control.mirrorspy.count, 1)
+ compare(control.mirrorspy.count, 0)
compare(control.button.localespy.count, 3)
- compare(control.button.mirrorspy.count, 1)
+ compare(control.button.mirrorspy.count, 0)
compare(control.popup.localespy.count, 2)
compare(control.popup.button1.localespy.count, 2)
compare(control.popup.button2.localespy.count, 2)
@@ -825,14 +825,14 @@ TestCase {
compare(control.popup.button1.locale.name, "ar_EG")
compare(control.popup.button2.locale.name, "ar_EG")
compare(control.localespy.count, 3)
- compare(control.mirrorspy.count, 1)
+ compare(control.mirrorspy.count, 0)
compare(control.button.localespy.count, 3)
- compare(control.button.mirrorspy.count, 1)
+ compare(control.button.mirrorspy.count, 0)
compare(control.popup.localespy.count, 3)
compare(control.popup.button1.localespy.count, 3)
- compare(control.popup.button1.mirrorspy.count, 1)
+ compare(control.popup.button1.mirrorspy.count, 0)
compare(control.popup.button2.localespy.count, 3)
- compare(control.popup.button2.mirrorspy.count, 1)
+ compare(control.popup.button2.mirrorspy.count, 0)
control.button.locale = Qt.locale("nb_NO")
compare(control.ApplicationWindow.window.locale.name, "ar_EG")
@@ -842,9 +842,9 @@ TestCase {
compare(control.popup.button1.locale.name, "ar_EG")
compare(control.popup.button2.locale.name, "ar_EG")
compare(control.localespy.count, 3)
- compare(control.mirrorspy.count, 1)
+ compare(control.mirrorspy.count, 0)
compare(control.button.localespy.count, 4)
- compare(control.button.mirrorspy.count, 2)
+ compare(control.button.mirrorspy.count, 0)
compare(control.popup.localespy.count, 3)
compare(control.popup.button1.localespy.count, 3)
compare(control.popup.button2.localespy.count, 3)
@@ -857,9 +857,9 @@ TestCase {
compare(control.popup.button1.locale.name, "ar_EG")
compare(control.popup.button2.locale.name, "ar_EG")
compare(control.localespy.count, 3)
- compare(control.mirrorspy.count, 1)
+ compare(control.mirrorspy.count, 0)
compare(control.button.localespy.count, 4)
- compare(control.button.mirrorspy.count, 2)
+ compare(control.button.mirrorspy.count, 0)
compare(control.popup.localespy.count, 3)
compare(control.popup.button1.localespy.count, 3)
compare(control.popup.button2.localespy.count, 3)
@@ -872,14 +872,14 @@ TestCase {
compare(control.popup.button1.locale.name, "nb_NO")
compare(control.popup.button2.locale.name, "ar_EG")
compare(control.localespy.count, 3)
- compare(control.mirrorspy.count, 1)
+ compare(control.mirrorspy.count, 0)
compare(control.button.localespy.count, 4)
- compare(control.button.mirrorspy.count, 2)
+ compare(control.button.mirrorspy.count, 0)
compare(control.popup.localespy.count, 3)
compare(control.popup.button1.localespy.count, 4)
- compare(control.popup.button1.mirrorspy.count, 2)
+ compare(control.popup.button1.mirrorspy.count, 0)
compare(control.popup.button2.localespy.count, 3)
- compare(control.popup.button2.mirrorspy.count, 1)
+ compare(control.popup.button2.mirrorspy.count, 0)
control.popup.locale = Qt.locale("fi_FI")
compare(control.ApplicationWindow.window.locale.name, "ar_EG")
@@ -889,14 +889,14 @@ TestCase {
compare(control.popup.button1.locale.name, "nb_NO")
compare(control.popup.button2.locale.name, "fi_FI")
compare(control.localespy.count, 3)
- compare(control.mirrorspy.count, 1)
+ compare(control.mirrorspy.count, 0)
compare(control.button.localespy.count, 4)
- compare(control.button.mirrorspy.count, 2)
+ compare(control.button.mirrorspy.count, 0)
compare(control.popup.localespy.count, 4)
compare(control.popup.button1.localespy.count, 4)
- compare(control.popup.button1.mirrorspy.count, 2)
+ compare(control.popup.button1.mirrorspy.count, 0)
compare(control.popup.button2.localespy.count, 4)
- compare(control.popup.button2.mirrorspy.count, 2)
+ compare(control.popup.button2.mirrorspy.count, 0)
control.ApplicationWindow.window.locale = undefined
compare(control.ApplicationWindow.window.locale.name, defaultLocale.name)
@@ -906,14 +906,14 @@ TestCase {
compare(control.popup.button1.locale.name, "nb_NO")
compare(control.popup.button2.locale.name, "fi_FI")
compare(control.localespy.count, 4)
- compare(control.mirrorspy.count, 2)
+ compare(control.mirrorspy.count, 0)
compare(control.button.localespy.count, 4)
- compare(control.button.mirrorspy.count, 2)
+ compare(control.button.mirrorspy.count, 0)
compare(control.popup.localespy.count, 4)
compare(control.popup.button1.localespy.count, 4)
- compare(control.popup.button1.mirrorspy.count, 2)
+ compare(control.popup.button1.mirrorspy.count, 0)
compare(control.popup.button2.localespy.count, 4)
- compare(control.popup.button2.mirrorspy.count, 2)
+ compare(control.popup.button2.mirrorspy.count, 0)
control.popup.locale = undefined
compare(control.ApplicationWindow.window.locale.name, defaultLocale.name)
@@ -923,14 +923,14 @@ TestCase {
compare(control.popup.button1.locale.name, "nb_NO")
compare(control.popup.button2.locale.name, defaultLocale.name)
compare(control.localespy.count, 4)
- compare(control.mirrorspy.count, 2)
+ compare(control.mirrorspy.count, 0)
compare(control.button.localespy.count, 4)
- compare(control.button.mirrorspy.count, 2)
+ compare(control.button.mirrorspy.count, 0)
compare(control.popup.localespy.count, 5)
compare(control.popup.button1.localespy.count, 4)
- compare(control.popup.button1.mirrorspy.count, 2)
+ compare(control.popup.button1.mirrorspy.count, 0)
compare(control.popup.button2.localespy.count, 5)
- compare(control.popup.button2.mirrorspy.count, 2)
+ compare(control.popup.button2.mirrorspy.count, 0)
}
function test_size() {
diff --git a/tests/auto/controls/data/tst_progressbar.qml b/tests/auto/controls/data/tst_progressbar.qml
index 1bb66bb7..2d264409 100644
--- a/tests/auto/controls/data/tst_progressbar.qml
+++ b/tests/auto/controls/data/tst_progressbar.qml
@@ -163,7 +163,7 @@ TestCase {
// RTL locale
control.locale = Qt.locale("ar_EG")
- compare(control.visualPosition, 0.75)
+ compare(control.visualPosition, 0.25)
// RTL locale + LayoutMirroring
control.LayoutMirroring.enabled = true
diff --git a/tests/auto/controls/data/tst_rangeslider.qml b/tests/auto/controls/data/tst_rangeslider.qml
index 55fedd1c..28ec7a7a 100644
--- a/tests/auto/controls/data/tst_rangeslider.qml
+++ b/tests/auto/controls/data/tst_rangeslider.qml
@@ -235,8 +235,8 @@ TestCase {
// RTL locale
control.locale = Qt.locale("ar_EG")
- compare(control.first.visualPosition, 0.75)
- compare(control.second.visualPosition, 0.0)
+ compare(control.first.visualPosition, 0.25)
+ compare(control.second.visualPosition, 1.0)
// RTL locale + LayoutMirroring
control.LayoutMirroring.enabled = true
@@ -786,13 +786,12 @@ TestCase {
control.first.value = 0
control.locale = Qt.locale("ar_EG")
- mousePress(control, control.first.handle.x + control.first.handle.width / 2,
- control.first.handle.y + control.first.handle.height / 2, Qt.LeftButton)
+ mousePress(control, control.first.handle.x, control.first.handle.y, Qt.LeftButton)
compare(firstPressedSpy.count, 3)
compare(control.first.pressed, true)
compare(control.first.value, 0.0)
compare(control.first.position, 0.0)
- compare(control.first.visualPosition, 1.0)
+ compare(control.first.visualPosition, 0.0)
mouseMove(control, control.leftPadding + control.availableWidth * 0.5, control.height * 0.5, 0)
compare(firstPressedSpy.count, 3)
@@ -805,7 +804,7 @@ TestCase {
compare(firstPressedSpy.count, 3)
compare(control.first.pressed, true)
compare(control.first.value, 0.0)
- verify(control.first.position < 0.5)
+ verify(control.first.position > 0.5)
verify(control.first.visualPosition > 0.5)
mouseRelease(control, control.leftPadding + control.availableWidth * 0.5, control.height * 0.5, Qt.LeftButton)
diff --git a/tests/auto/controls/data/tst_scrollbar.qml b/tests/auto/controls/data/tst_scrollbar.qml
index edcd7aab..9e649e37 100644
--- a/tests/auto/controls/data/tst_scrollbar.qml
+++ b/tests/auto/controls/data/tst_scrollbar.qml
@@ -546,7 +546,7 @@ TestCase {
container.ScrollBar.vertical = scrollBar.createObject(container)
compare(container.ScrollBar.vertical.x, container.width - container.ScrollBar.vertical.width)
container.ScrollBar.vertical.locale = Qt.locale("ar_EG")
- compare(container.ScrollBar.vertical.x, 0)
+ compare(container.ScrollBar.vertical.x, container.width - container.ScrollBar.vertical.width)
}
function test_hover_data() {
diff --git a/tests/auto/controls/data/tst_slider.qml b/tests/auto/controls/data/tst_slider.qml
index 6872506b..05cd6ec2 100644
--- a/tests/auto/controls/data/tst_slider.qml
+++ b/tests/auto/controls/data/tst_slider.qml
@@ -179,7 +179,7 @@ TestCase {
// RTL locale
control.locale = Qt.locale("ar_EG")
- compare(control.visualPosition, 0.75)
+ compare(control.visualPosition, 0.25)
// RTL locale + LayoutMirroring
control.LayoutMirroring.enabled = true
@@ -623,7 +623,7 @@ TestCase {
compare(pressedSpy.count, 3)
compare(control.pressed, true)
compare(control.value, 0.0)
- compare(control.position, 1.0)
+ compare(control.position, 0.0)
compare(control.visualPosition, 0.0)
mouseMove(control, control.leftPadding + control.availableWidth * 0.5, control.height * 0.5, 0)
@@ -637,7 +637,7 @@ TestCase {
compare(pressedSpy.count, 3)
compare(control.pressed, true)
compare(control.value, 0.0)
- verify(control.position < 0.5)
+ verify(control.position > 0.5)
verify(control.visualPosition > 0.5)
mouseRelease(control, control.leftPadding + control.availableWidth * 0.5, control.height * 0.5, Qt.LeftButton)
diff --git a/tests/auto/qquickmenu/tst_qquickmenu.cpp b/tests/auto/qquickmenu/tst_qquickmenu.cpp
index 05c96246..92ea452a 100644
--- a/tests/auto/qquickmenu/tst_qquickmenu.cpp
+++ b/tests/auto/qquickmenu/tst_qquickmenu.cpp
@@ -1236,8 +1236,11 @@ void tst_QQuickMenu::subMenuKeyboard()
window->show();
QVERIFY(QTest::qWaitForWindowActive(window));
- if (mirrored)
- window->setLocale(QLocale("ar_EG"));
+ if (mirrored) {
+ QQmlExpression mirroringExpression(qmlContext(window), window,
+ "LayoutMirroring.childrenInherit = true; LayoutMirroring.enabled = true");
+ QVERIFY2(mirroringExpression.evaluate().isValid(), qPrintable(mirroringExpression.error().toString()));
+ }
QQuickMenu *mainMenu = window->property("mainMenu").value<QQuickMenu *>();
QVERIFY(mainMenu);
@@ -1359,8 +1362,11 @@ void tst_QQuickMenu::subMenuDisabledKeyboard()
window->show();
QVERIFY(QTest::qWaitForWindowActive(window));
- if (mirrored)
- window->setLocale(QLocale("ar_EG"));
+ if (mirrored) {
+ QQmlExpression mirroringExpression(qmlContext(window), window,
+ "LayoutMirroring.childrenInherit = true; LayoutMirroring.enabled = true");
+ QVERIFY2(mirroringExpression.evaluate().isValid(), qPrintable(mirroringExpression.error().toString()));
+ }
QQuickMenu *mainMenu = window->property("mainMenu").value<QQuickMenu *>();
QVERIFY(mainMenu);
@@ -1454,8 +1460,11 @@ void tst_QQuickMenu::subMenuPosition()
window->show();
QVERIFY(QTest::qWaitForWindowActive(window));
- if (mirrored)
- window->setLocale(QLocale("ar_EG"));
+ if (mirrored) {
+ QQmlExpression mirroringExpression(qmlContext(window), window,
+ "LayoutMirroring.childrenInherit = true; LayoutMirroring.enabled = true");
+ QVERIFY2(mirroringExpression.evaluate().isValid(), qPrintable(mirroringExpression.error().toString()));
+ }
mainMenu->setCascade(cascade);
QCOMPARE(mainMenu->cascade(), cascade);
@@ -1733,8 +1742,11 @@ void tst_QQuickMenu::menuItemWidth()
window->show();
QVERIFY(QTest::qWaitForWindowActive(window));
- if (mirrored)
- window->setLocale(QLocale("ar_EG"));
+ if (mirrored) {
+ QQmlExpression mirroringExpression(qmlContext(window), window,
+ "LayoutMirroring.childrenInherit = true; LayoutMirroring.enabled = true");
+ QVERIFY2(mirroringExpression.evaluate().isValid(), qPrintable(mirroringExpression.error().toString()));
+ }
QQuickMenu *menu = window->property("menu").value<QQuickMenu *>();
QVERIFY(menu);
@@ -1762,8 +1774,11 @@ void tst_QQuickMenu::menuItemWidthAfterMenuWidthChanged()
window->show();
QVERIFY(QTest::qWaitForWindowActive(window));
- if (mirrored)
- window->setLocale(QLocale("ar_EG"));
+ if (mirrored) {
+ QQmlExpression mirroringExpression(qmlContext(window), window,
+ "LayoutMirroring.childrenInherit = true; LayoutMirroring.enabled = true");
+ QVERIFY2(mirroringExpression.evaluate().isValid(), qPrintable(mirroringExpression.error().toString()));
+ }
QQuickMenu *menu = window->property("menu").value<QQuickMenu *>();
QVERIFY(menu);
@@ -1807,8 +1822,11 @@ void tst_QQuickMenu::menuItemWidthAfterImplicitWidthChanged()
window->show();
QVERIFY(QTest::qWaitForWindowActive(window));
- if (mirrored)
- window->setLocale(QLocale("ar_EG"));
+ if (mirrored) {
+ QQmlExpression mirroringExpression(qmlContext(window), window,
+ "LayoutMirroring.childrenInherit = true; LayoutMirroring.enabled = true");
+ QVERIFY2(mirroringExpression.evaluate().isValid(), qPrintable(mirroringExpression.error().toString()));
+ }
QQuickMenu *menu = window->property("menu").value<QQuickMenu *>();
QVERIFY(menu);