aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/applicationwindow/tst_applicationwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/applicationwindow/tst_applicationwindow.cpp')
-rw-r--r--tests/auto/applicationwindow/tst_applicationwindow.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/auto/applicationwindow/tst_applicationwindow.cpp b/tests/auto/applicationwindow/tst_applicationwindow.cpp
index 63d0acff..8256f16b 100644
--- a/tests/auto/applicationwindow/tst_applicationwindow.cpp
+++ b/tests/auto/applicationwindow/tst_applicationwindow.cpp
@@ -65,6 +65,7 @@ private slots:
void implicitFill();
void attachedProperties();
void font();
+ void locale();
void activeFocusControl_data();
void activeFocusControl();
};
@@ -491,6 +492,57 @@ void tst_applicationwindow::font()
QCOMPARE(item6->font(), font);
}
+void tst_applicationwindow::locale()
+{
+ QQmlEngine engine;
+ QQmlComponent component(&engine);
+ component.loadUrl(testFileUrl("locale.qml"));
+ QObject* created = component.create();
+ QScopedPointer<QObject> cleanup(created);
+ QVERIFY(created);
+
+ QQuickApplicationWindow* window = qobject_cast<QQuickApplicationWindow*>(created);
+ QVERIFY(window);
+ QVERIFY(!window->isVisible());
+ QCOMPARE(window->width(), 400);
+ QCOMPARE(window->height(), 400);
+
+ window->show();
+ QVERIFY(QTest::qWaitForWindowActive(window));
+
+ QLocale l = window->locale();
+
+ QQuickControl *mainItem = window->property("mainItem").value<QQuickControl*>();
+ QVERIFY(mainItem);
+ QCOMPARE(mainItem->width(), 400.0);
+ QCOMPARE(mainItem->height(), 400.0);
+ QCOMPARE(mainItem->locale(), l);
+
+ QQuickControl *item2 = mainItem->property("item_2").value<QQuickControl*>();
+ QVERIFY(item2);
+ QQuickControl *item3 = mainItem->property("item_3").value<QQuickControl*>();
+ QVERIFY(item3);
+
+ QCOMPARE(item2->locale(), l);
+ QCOMPARE(item3->locale(), l);
+
+ l = QLocale("en_US");
+ window->setLocale(l);
+
+ QCOMPARE(window->locale(), l);
+ QCOMPARE(mainItem->locale(), l);
+ QCOMPARE(item2->locale(), l);
+ QCOMPARE(item3->locale(), l);
+
+ l = QLocale("ar_EG");
+ window->setLocale(l);
+
+ QCOMPARE(window->locale(), l);
+ QCOMPARE(mainItem->locale(), l);
+ QCOMPARE(item2->locale(), l);
+ QCOMPARE(item3->locale(), l);
+}
+
void tst_applicationwindow::activeFocusControl_data()
{
QTest::addColumn<QByteArray>("containerName");