aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMitch Curtis <mitch.curtis@theqtcompany.com>2015-08-25 15:43:56 +0200
committerMitch Curtis <mitch.curtis@theqtcompany.com>2015-09-02 13:35:03 +0000
commitd1b20513798ed441afddb87fd4e7facce78349e1 (patch)
tree48591126eb3355f95509c3df5835f8a5b5b6bd2e /tests
parent70592075464dad3f8fef173422a30a06eaed3d80 (diff)
Don't consider QLocale a value type.
This fixes a regression where all of the properties of Qt.inputMethod.locale were undefined. Change-Id: Id33890a78296709baad6aeda96d74ca8cb39c61d Task-number: QTBUG-47916 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qml/qqmlvaluetypes/data/locale_read.qml22
-rw-r--r--tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp38
2 files changed, 60 insertions, 0 deletions
diff --git a/tests/auto/qml/qqmlvaluetypes/data/locale_read.qml b/tests/auto/qml/qqmlvaluetypes/data/locale_read.qml
new file mode 100644
index 0000000000..5ae6b41259
--- /dev/null
+++ b/tests/auto/qml/qqmlvaluetypes/data/locale_read.qml
@@ -0,0 +1,22 @@
+import QtQuick 2.0
+
+Item {
+ property string amText: Qt.inputMethod.locale.amText
+ property string decimalPoint: Qt.inputMethod.locale.decimalPoint
+ property string exponential: Qt.inputMethod.locale.exponential
+ property int firstDayOfWeek: Qt.inputMethod.locale.firstDayOfWeek
+ property string groupSeparator: Qt.inputMethod.locale.groupSeparator
+ property int measurementSystem: Qt.inputMethod.locale.measurementSystem
+ property string name: Qt.inputMethod.locale.name
+ property string nativeCountryName: Qt.inputMethod.locale.nativeCountryName
+ property string nativeLanguageName: Qt.inputMethod.locale.nativeLanguageName
+ property string negativeSign: Qt.inputMethod.locale.negativeSign
+ property string percent: Qt.inputMethod.locale.percent
+ property string pmText: Qt.inputMethod.locale.pmText
+ property string positiveSign: Qt.inputMethod.locale.positiveSign
+ property int textDirection: Qt.inputMethod.locale.textDirection
+ property var uiLanguages: Qt.inputMethod.locale.uiLanguages
+ property var weekDays: Qt.inputMethod.locale.weekDays
+ property string zeroDigit: Qt.inputMethod.locale.zeroDigit
+}
+
diff --git a/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp b/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp
index 578004b0a1..f93190cab6 100644
--- a/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp
+++ b/tests/auto/qml/qqmlvaluetypes/tst_qqmlvaluetypes.cpp
@@ -36,6 +36,7 @@
#include <QQmlComponent>
#include <QDebug>
#include <private/qquickvaluetypes_p.h>
+#include <private/qqmlglobal_p.h>
#include "../../shared/util.h"
#include "testtypes.h"
@@ -67,6 +68,7 @@ private slots:
void font();
void color();
void variant();
+ void locale();
void bindingAssignment();
void bindingRead();
@@ -316,6 +318,42 @@ void tst_qqmlvaluetypes::variant()
}
}
+void tst_qqmlvaluetypes::locale()
+{
+ {
+ QQmlComponent component(&engine, testFileUrl("locale_read.qml"));
+ QScopedPointer<QObject> object(component.create());
+ QVERIFY(!object.isNull());
+
+ QVERIFY(QQml_guiProvider()->inputMethod());
+ QInputMethod *inputMethod = qobject_cast<QInputMethod*>(QQml_guiProvider()->inputMethod());
+ QLocale locale = inputMethod->locale();
+
+ QCOMPARE(object->property("amText").toString(), locale.amText());
+ QCOMPARE(object->property("decimalPoint").toString().at(0), locale.decimalPoint());
+ QCOMPARE(object->property("exponential").toString().at(0), locale.exponential());
+ // Sunday is 0 in JavaScript.
+ QCOMPARE(object->property("firstDayOfWeek").toInt(), int(locale.firstDayOfWeek() == Qt::Sunday ? 0 : locale.firstDayOfWeek()));
+ QCOMPARE(object->property("groupSeparator").toString().at(0), locale.groupSeparator());
+ QCOMPARE(object->property("measurementSystem").toInt(), int(locale.measurementSystem()));
+ QCOMPARE(object->property("name").toString(), locale.name());
+ QCOMPARE(object->property("nativeCountryName").toString(), locale.nativeCountryName());
+ QCOMPARE(object->property("nativeLanguageName").toString(), locale.nativeLanguageName());
+ QCOMPARE(object->property("negativeSign").toString().at(0), locale.negativeSign());
+ QCOMPARE(object->property("percent").toString().at(0), locale.percent());
+ QCOMPARE(object->property("pmText").toString(), locale.pmText());
+ QCOMPARE(object->property("positiveSign").toString().at(0), locale.positiveSign());
+ QCOMPARE(object->property("textDirection").toInt(), int(locale.textDirection()));
+ QCOMPARE(object->property("uiLanguages").toStringList(), locale.uiLanguages());
+ QList<Qt::DayOfWeek> weekDays;
+ foreach (const QVariant &weekDay, object->property("weekDays").toList()) {
+ weekDays.append(Qt::DayOfWeek(weekDay.toInt()));
+ }
+ QCOMPARE(weekDays, locale.weekdays());
+ QCOMPARE(object->property("zeroDigit").toString().at(0), locale.zeroDigit());
+ }
+}
+
void tst_qqmlvaluetypes::sizereadonly()
{
{