aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2012-02-17 10:11:43 +1000
committerQt by Nokia <qt-info@nokia.com>2012-02-17 04:29:42 +0100
commitceb09a144afae488057c1841ec68a2fa0117a3f3 (patch)
tree12b5ead7b2033fa3c836696e2064dae3ee62cc24 /tests/auto
parent297cdf59dec32635cc162b472fb63bc86dbe121c (diff)
Make QLocale::uiLanguages() available in Qt.locale() object
Available as uiLanguages property returning an array of strings. Change-Id: Ic698bbaff2eb0f9f6720ae06952c12a987298964 Reviewed-by: Glenn Watson <glenn.watson@nokia.com>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/declarative/qdeclarativelocale/data/properties.qml1
-rw-r--r--tests/auto/declarative/qdeclarativelocale/tst_qdeclarativelocale.cpp41
2 files changed, 42 insertions, 0 deletions
diff --git a/tests/auto/declarative/qdeclarativelocale/data/properties.qml b/tests/auto/declarative/qdeclarativelocale/data/properties.qml
index 1d2968b419..16d1f4092a 100644
--- a/tests/auto/declarative/qdeclarativelocale/data/properties.qml
+++ b/tests/auto/declarative/qdeclarativelocale/data/properties.qml
@@ -23,4 +23,5 @@ QtObject {
property var measurementSystem: locale.measurementSystem
property var textDirection: locale.textDirection
property var weekDays: locale.weekDays
+ property var uiLanguages: locale.uiLanguages
}
diff --git a/tests/auto/declarative/qdeclarativelocale/tst_qdeclarativelocale.cpp b/tests/auto/declarative/qdeclarativelocale/tst_qdeclarativelocale.cpp
index ab11dbc6da..5afc2354a6 100644
--- a/tests/auto/declarative/qdeclarativelocale/tst_qdeclarativelocale.cpp
+++ b/tests/auto/declarative/qdeclarativelocale/tst_qdeclarativelocale.cpp
@@ -70,6 +70,8 @@ private slots:
void standaloneDayName();
void weekDays_data();
void weekDays();
+ void uiLanguages_data();
+ void uiLanguages();
void dateFormat_data();
void dateFormat();
void dateTimeFormat_data();
@@ -463,6 +465,45 @@ void tst_qdeclarativelocale::weekDays()
delete obj;
}
+void tst_qdeclarativelocale::uiLanguages_data()
+{
+ QTest::addColumn<QString>("locale");
+
+ QTest::newRow("en_US") << "en_US";
+ QTest::newRow("de_DE") << "de_DE";
+ QTest::newRow("ar_SA") << "ar_SA";
+ QTest::newRow("hi_IN") << "hi_IN";
+ QTest::newRow("zh_CN") << "zh_CN";
+ QTest::newRow("th_TH") << "th_TH";
+}
+
+void tst_qdeclarativelocale::uiLanguages()
+{
+ QFETCH(QString, locale);
+
+ QDeclarativeComponent c(&engine, testFileUrl("properties.qml"));
+
+ QObject *obj = c.create();
+ QVERIFY(obj);
+
+ QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection,
+ Q_ARG(QVariant, QVariant(locale)));
+
+ QVariant val = obj->property("uiLanguages");
+ QVERIFY(val.type() == QVariant::List);
+
+ QList<QVariant> qmlLangs = val.toList();
+ QStringList langs = QLocale(locale).uiLanguages();
+
+ QVERIFY(langs.count() == qmlLangs.count());
+
+ for (int i = 0; i < langs.count(); ++i) {
+ QCOMPARE(langs.at(i), qmlLangs.at(i).toString());
+ }
+
+ delete obj;
+}
+
void tst_qdeclarativelocale::dateTimeFormat_data()
{