From b855240b782395f94315f43ea3e7e182299fac48 Mon Sep 17 00:00:00 2001 From: Matthew Vogt Date: Thu, 16 Feb 2012 14:43:03 +1000 Subject: Rename QDeclarative symbols to QQuick and QQml Symbols beginning with QDeclarative are already exported by the quick1 module. Users can apply the bin/rename-qtdeclarative-symbols.sh script to modify client code using the previous names of the renamed symbols. Task-number: QTBUG-23737 Change-Id: Ifaa482663767634931e8711a8e9bf6e404859e66 Reviewed-by: Martin Jones --- .../qdeclarativelocale/tst_qdeclarativelocale.cpp | 1183 -------------------- 1 file changed, 1183 deletions(-) delete mode 100644 tests/auto/declarative/qdeclarativelocale/tst_qdeclarativelocale.cpp (limited to 'tests/auto/declarative/qdeclarativelocale/tst_qdeclarativelocale.cpp') diff --git a/tests/auto/declarative/qdeclarativelocale/tst_qdeclarativelocale.cpp b/tests/auto/declarative/qdeclarativelocale/tst_qdeclarativelocale.cpp deleted file mode 100644 index bf5c8c7af4..0000000000 --- a/tests/auto/declarative/qdeclarativelocale/tst_qdeclarativelocale.cpp +++ /dev/null @@ -1,1183 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the test suite of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include -#include - -#include -#include -#include -#include -#include "../../shared/util.h" - -class tst_qdeclarativelocale : public QDeclarativeDataTest -{ - Q_OBJECT -public: - tst_qdeclarativelocale() { } - -private slots: - void defaultLocale(); - - void properties_data(); - void properties(); - void currencySymbol_data(); - void currencySymbol(); - void monthName_data(); - void monthName(); - void standaloneMonthName_data(); - void standaloneMonthName(); - void dayName_data(); - void dayName(); - void standaloneDayName_data(); - void standaloneDayName(); - void weekDays_data(); - void weekDays(); - void uiLanguages_data(); - void uiLanguages(); - void dateFormat_data(); - void dateFormat(); - void dateTimeFormat_data(); - void dateTimeFormat(); - void timeFormat_data(); - void timeFormat(); - - void dateToLocaleString_data(); - void dateToLocaleString(); - void dateToLocaleStringFormatted_data(); - void dateToLocaleStringFormatted(); - void dateToLocaleDateString_data(); - void dateToLocaleDateString(); - void dateToLocaleDateStringFormatted_data(); - void dateToLocaleDateStringFormatted(); - void dateToLocaleTimeString_data(); - void dateToLocaleTimeString(); - void dateToLocaleTimeStringFormatted_data(); - void dateToLocaleTimeStringFormatted(); - void dateFromLocaleString_data(); - void dateFromLocaleString(); - void dateFromLocaleDateString_data(); - void dateFromLocaleDateString(); - void dateFromLocaleTimeString_data(); - void dateFromLocaleTimeString(); - - void numberToLocaleString_data(); - void numberToLocaleString(); - void numberToLocaleCurrencyString_data(); - void numberToLocaleCurrencyString(); - void numberFromLocaleString_data(); - void numberFromLocaleString(); - void numberConstToLocaleString(); - - void stringLocaleCompare_data(); - void stringLocaleCompare(); - -private: - void addPropertyData(const QString &l); - QVariant getProperty(QObject *obj, const QString &locale, const QString &property); - void addCurrencySymbolData(const QString &locale); - void addStandardFormatData(); - void addFormatNameData(const QString &locale); - void addDateTimeFormatData(const QString &l); - void addDateFormatData(const QString &l); - void addTimeFormatData(const QString &l); - QDeclarativeEngine engine; -}; - -void tst_qdeclarativelocale::defaultLocale() -{ - QDeclarativeComponent c(&engine, testFileUrl("properties.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QCOMPARE(obj->property("name").toString(), QLocale().name()); -} - -#define LOCALE_PROP(type,prop) { #prop, QVariant(type(qlocale.prop())) } - -void tst_qdeclarativelocale::addPropertyData(const QString &l) -{ - QLocale qlocale(l); - - struct { - const char *name; - QVariant value; - } - values[] = { - LOCALE_PROP(QString,name), - LOCALE_PROP(QString,amText), - LOCALE_PROP(QString,pmText), - LOCALE_PROP(QString,nativeLanguageName), - LOCALE_PROP(QString,nativeCountryName), - LOCALE_PROP(QString,decimalPoint), - LOCALE_PROP(QString,groupSeparator), - LOCALE_PROP(QString,percent), - LOCALE_PROP(QString,zeroDigit), - LOCALE_PROP(QString,negativeSign), - LOCALE_PROP(QString,positiveSign), - LOCALE_PROP(QString,exponential), - LOCALE_PROP(int,firstDayOfWeek), - LOCALE_PROP(int,measurementSystem), - LOCALE_PROP(int,textDirection), - { 0, QVariant() } - }; - - int i = 0; - while (values[i].name) { - QByteArray n = l.toLatin1() + ':' + values[i].name; - QTest::newRow(n.constData()) << l << QByteArray(values[i].name) << values[i].value; - ++i; - } -} - -void tst_qdeclarativelocale::properties_data() -{ - QTest::addColumn("locale"); - QTest::addColumn("property"); - QTest::addColumn("value"); - - addPropertyData("en_US"); - addPropertyData("de_DE"); - addPropertyData("ar_SA"); - addPropertyData("hi_IN"); - addPropertyData("zh_CN"); - addPropertyData("th_TH"); -} - -void tst_qdeclarativelocale::properties() -{ - QFETCH(QString, locale); - QFETCH(QByteArray, property); - QFETCH(QVariant, value); - - QDeclarativeComponent c(&engine, testFileUrl("properties.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - QCOMPARE(obj->property(property), value); - - delete obj; -} - -void tst_qdeclarativelocale::addCurrencySymbolData(const QString &l) -{ - QByteArray locale = l.toLatin1(); - QTest::newRow(locale.constData()) << l << -1; - QByteArray t(locale); - t += " CurrencyIsoCode"; - QTest::newRow(t.constData()) << l << (int)QLocale::CurrencyIsoCode; - t = locale + " CurrencySymbol"; - QTest::newRow(t.constData()) << l << (int)QLocale::CurrencySymbol; - t = locale + " CurrencyDisplayName"; - QTest::newRow(t.constData()) << l << (int)QLocale::CurrencyDisplayName; -} - -void tst_qdeclarativelocale::currencySymbol_data() -{ - QTest::addColumn("locale"); - QTest::addColumn("param"); - - addCurrencySymbolData("en_US"); - addCurrencySymbolData("de_DE"); - addCurrencySymbolData("ar_SA"); - addCurrencySymbolData("hi_IN"); - addCurrencySymbolData("zh_CN"); - addCurrencySymbolData("th_TH"); -} - -void tst_qdeclarativelocale::currencySymbol() -{ - QFETCH(QString, locale); - QFETCH(int, param); - - QDeclarativeComponent c(&engine, testFileUrl("functions.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QLocale l(locale); - QVariant val; - QLocale::CurrencySymbolFormat format = QLocale::CurrencySymbol; - - if (param >= 0) - format = QLocale::CurrencySymbolFormat(param); - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - QMetaObject::invokeMethod(obj, "currencySymbol", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(int(format)))); - - QCOMPARE(val.toString(), l.currencySymbol(format)); - - delete obj; -} - -void tst_qdeclarativelocale::addFormatNameData(const QString &l) -{ - QByteArray locale = l.toLatin1(); - QTest::newRow(locale.constData()) << l << -1; - QByteArray t(locale); - t += " LongFormat"; - QTest::newRow(t.constData()) << l << (int)QLocale::LongFormat; - t = locale + " ShortFormat"; - QTest::newRow(t.constData()) << l << (int)QLocale::ShortFormat; - t = locale + " NarrowFormat"; - QTest::newRow(t.constData()) << l << (int)QLocale::NarrowFormat; -} - -void tst_qdeclarativelocale::addStandardFormatData() -{ - QTest::addColumn("locale"); - QTest::addColumn("param"); - - addFormatNameData("en_US"); - addFormatNameData("de_DE"); - addFormatNameData("ar_SA"); - addFormatNameData("hi_IN"); - addFormatNameData("zh_CN"); - addFormatNameData("th_TH"); -} - -void tst_qdeclarativelocale::monthName_data() -{ - addStandardFormatData(); -} - -void tst_qdeclarativelocale::monthName() -{ - QFETCH(QString, locale); - QFETCH(int, param); - - QDeclarativeComponent c(&engine, testFileUrl("functions.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QLocale l(locale); - QVariant val; - QLocale::FormatType format = QLocale::LongFormat; - if (param >= 0) - format = QLocale::FormatType(param); - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - for (int i = 0; i <= 11; ++i) { - QMetaObject::invokeMethod(obj, "monthName", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(i)), - Q_ARG(QVariant, QVariant(int(format)))); - - // QLocale January == 1, JS Date January == 0 - QCOMPARE(val.toString(), l.monthName(i+1, format)); - } - - delete obj; -} - -void tst_qdeclarativelocale::standaloneMonthName_data() -{ - addStandardFormatData(); -} - -void tst_qdeclarativelocale::standaloneMonthName() -{ - QFETCH(QString, locale); - QFETCH(int, param); - - QDeclarativeComponent c(&engine, testFileUrl("functions.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QLocale l(locale); - QVariant val; - QLocale::FormatType format = QLocale::LongFormat; - if (param >= 0) - format = QLocale::FormatType(param); - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - for (int i = 0; i <= 11; ++i) { - QMetaObject::invokeMethod(obj, "standaloneMonthName", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(i)), - Q_ARG(QVariant, QVariant(int(format)))); - - // QLocale January == 1, JS Date January == 0 - QCOMPARE(val.toString(), l.standaloneMonthName(i+1, format)); - } - - delete obj; -} - -void tst_qdeclarativelocale::dayName_data() -{ - addStandardFormatData(); -} - -void tst_qdeclarativelocale::dayName() -{ - QFETCH(QString, locale); - QFETCH(int, param); - - QDeclarativeComponent c(&engine, testFileUrl("functions.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QLocale l(locale); - QVariant val; - QLocale::FormatType format = QLocale::LongFormat; - if (param >= 0) - format = QLocale::FormatType(param); - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - for (int i = 1; i <= 7; ++i) { - QMetaObject::invokeMethod(obj, "dayName", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(i)), - Q_ARG(QVariant, QVariant(int(format)))); - - QCOMPARE(val.toString(), l.dayName(i, format)); - } - - delete obj; -} - -void tst_qdeclarativelocale::standaloneDayName_data() -{ - addStandardFormatData(); -} - -void tst_qdeclarativelocale::standaloneDayName() -{ - QFETCH(QString, locale); - QFETCH(int, param); - - QDeclarativeComponent c(&engine, testFileUrl("functions.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QLocale l(locale); - QVariant val; - QLocale::FormatType format = param < 0 ? QLocale::LongFormat : QLocale::FormatType(param); - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - for (int i = 1; i <= 7; ++i) { - QMetaObject::invokeMethod(obj, "standaloneDayName", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(i)), - Q_ARG(QVariant, QVariant(int(format)))); - - QCOMPARE(val.toString(), l.standaloneDayName(i, format)); - } - - delete obj; -} - -void tst_qdeclarativelocale::weekDays_data() -{ - QTest::addColumn("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::weekDays() -{ - 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("weekDays"); - QVERIFY(val.type() == QVariant::List); - - QList qmlDays = val.toList(); - QList days = QLocale(locale).weekdays(); - - QVERIFY(days.count() == qmlDays.count()); - - for (int i = 0; i < days.count(); ++i) { - int day = int(days.at(i)); - if (day == 7) // JS Date days in range 0(Sunday) to 6(Saturday) - day = 0; - QCOMPARE(day, qmlDays.at(i).toInt()); - } - - delete obj; -} - -void tst_qdeclarativelocale::uiLanguages_data() -{ - QTest::addColumn("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 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() -{ - addStandardFormatData(); -} - -void tst_qdeclarativelocale::dateTimeFormat() -{ - QFETCH(QString, locale); - QFETCH(int, param); - - QDeclarativeComponent c(&engine, testFileUrl("functions.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QLocale l(locale); - QVariant val; - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - QLocale::FormatType format = param < 0 ? QLocale::LongFormat : QLocale::FormatType(param); - QMetaObject::invokeMethod(obj, "dateTimeFormat", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(param))); - - QCOMPARE(val.toString(), l.dateTimeFormat(format)); -} - -void tst_qdeclarativelocale::dateFormat_data() -{ - addStandardFormatData(); -} - -void tst_qdeclarativelocale::dateFormat() -{ - QFETCH(QString, locale); - QFETCH(int, param); - - QDeclarativeComponent c(&engine, testFileUrl("functions.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QLocale l(locale); - QVariant val; - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - QLocale::FormatType format = param < 0 ? QLocale::LongFormat : QLocale::FormatType(param); - QMetaObject::invokeMethod(obj, "dateFormat", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(param))); - - QCOMPARE(val.toString(), l.dateFormat(format)); -} - -void tst_qdeclarativelocale::timeFormat_data() -{ - addStandardFormatData(); -} - -void tst_qdeclarativelocale::timeFormat() -{ - QFETCH(QString, locale); - QFETCH(int, param); - - QDeclarativeComponent c(&engine, testFileUrl("functions.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QLocale l(locale); - QVariant val; - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - QLocale::FormatType format = param < 0 ? QLocale::LongFormat : QLocale::FormatType(param); - QMetaObject::invokeMethod(obj, "timeFormat", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(param))); - - QCOMPARE(val.toString(), l.timeFormat(format)); -} - -void tst_qdeclarativelocale::dateToLocaleString_data() -{ - addStandardFormatData(); -} - -void tst_qdeclarativelocale::dateToLocaleString() -{ - QFETCH(QString, locale); - QFETCH(int, param); - - QDeclarativeComponent c(&engine, testFileUrl("date.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QDateTime dt; - dt.setDate(QDate(2011, 10, 7)); // weirdly, JS Date month range is 0-11 - dt.setTime(QTime(18, 53, 48, 345)); - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - QLocale::FormatType format = param < 0 ? QLocale::LongFormat : QLocale::FormatType(param); - - QVariant val; - QMetaObject::invokeMethod(obj, "toLocaleString", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(param))); - - QLocale l(locale); - QCOMPARE(val.toString(), l.toString(dt, format)); -} - -void tst_qdeclarativelocale::addDateTimeFormatData(const QString &l) -{ - const char *formats[] = { - "hh:mm dd.MM.yyyy", - "h:m:sap ddd MMMM d yy", - "'The date and time is: 'H:mm:ss:zzz dd/MM/yy", - "MMM d yyyy HH:mm t", - 0 - }; - QByteArray locale = l.toLatin1(); - int i = 0; - while (formats[i]) { - QByteArray t(locale); - t += " "; - t += formats[i]; - QTest::newRow(t.constData()) << l << QString(formats[i]); - ++i; - } -} - -void tst_qdeclarativelocale::dateToLocaleStringFormatted_data() -{ - QTest::addColumn("locale"); - QTest::addColumn("format"); - - addDateTimeFormatData("en_US"); - addDateTimeFormatData("de_DE"); - addDateTimeFormatData("ar_SA"); - addDateTimeFormatData("hi_IN"); - addDateTimeFormatData("zh_CN"); - addDateTimeFormatData("th_TH"); -} - -void tst_qdeclarativelocale::dateToLocaleStringFormatted() -{ - QFETCH(QString, locale); - QFETCH(QString, format); - - QDeclarativeComponent c(&engine, testFileUrl("date.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QDateTime dt; - dt.setDate(QDate(2011, 10, 7)); // weirdly, JS Date month range is 0-11 - dt.setTime(QTime(18, 53, 48, 345)); - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - QVariant val; - QMetaObject::invokeMethod(obj, "toLocaleString", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(format))); - - QLocale l(locale); - QCOMPARE(val.toString(), l.toString(dt, format)); -} - -void tst_qdeclarativelocale::dateToLocaleDateString_data() -{ - addStandardFormatData(); -} - -void tst_qdeclarativelocale::dateToLocaleDateString() -{ - QFETCH(QString, locale); - QFETCH(int, param); - - QDeclarativeComponent c(&engine, testFileUrl("date.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QDateTime dt; - dt.setDate(QDate(2011, 10, 7)); // weirdly, JS Date month range is 0-11 - dt.setTime(QTime(18, 53, 48, 345)); - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - QLocale::FormatType format = param < 0 ? QLocale::LongFormat : QLocale::FormatType(param); - - QVariant val; - QMetaObject::invokeMethod(obj, "toLocaleDateString", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(param))); - - QLocale l(locale); - QCOMPARE(val.toString(), l.toString(dt.date(), format)); -} - -void tst_qdeclarativelocale::addDateFormatData(const QString &l) -{ - const char *formats[] = { - "dd.MM.yyyy", - "ddd MMMM d yy", - "'The date is: 'dd/MM/yy", - "MMM d yyyy", - 0 - }; - QByteArray locale = l.toLatin1(); - int i = 0; - while (formats[i]) { - QByteArray t(locale); - t += " "; - t += formats[i]; - QTest::newRow(t.constData()) << l << QString(formats[i]); - ++i; - } -} - -void tst_qdeclarativelocale::dateToLocaleDateStringFormatted_data() -{ - QTest::addColumn("locale"); - QTest::addColumn("format"); - - addDateFormatData("en_US"); - addDateFormatData("de_DE"); - addDateFormatData("ar_SA"); - addDateFormatData("hi_IN"); - addDateFormatData("zh_CN"); - addDateFormatData("th_TH"); -} - -void tst_qdeclarativelocale::dateToLocaleDateStringFormatted() -{ - QFETCH(QString, locale); - QFETCH(QString, format); - - QDeclarativeComponent c(&engine, testFileUrl("date.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QDateTime dt; - dt.setDate(QDate(2011, 10, 7)); // weirdly, JS Date month range is 0-11 - dt.setTime(QTime(18, 53, 48, 345)); - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - QVariant val; - QMetaObject::invokeMethod(obj, "toLocaleString", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(format))); - - QLocale l(locale); - QCOMPARE(val.toString(), l.toString(dt.date(), format)); -} - -void tst_qdeclarativelocale::dateToLocaleTimeString_data() -{ - addStandardFormatData(); -} - -void tst_qdeclarativelocale::dateToLocaleTimeString() -{ - QFETCH(QString, locale); - QFETCH(int, param); - - QDeclarativeComponent c(&engine, testFileUrl("date.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QDateTime dt; - dt.setDate(QDate(2011, 10, 7)); // weirdly, JS Date month range is 0-11 - dt.setTime(QTime(18, 53, 48, 345)); - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - QLocale::FormatType format = param < 0 ? QLocale::LongFormat : QLocale::FormatType(param); - - QVariant val; - QMetaObject::invokeMethod(obj, "toLocaleTimeString", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(param))); - - QLocale l(locale); - QCOMPARE(val.toString(), l.toString(dt.time(), format)); -} - -void tst_qdeclarativelocale::addTimeFormatData(const QString &l) -{ - const char *formats[] = { - "hh:mm", - "h:m:sap", - "'The time is: 'H:mm:ss:zzz", - "HH:mm t", - 0 - }; - QByteArray locale = l.toLatin1(); - int i = 0; - while (formats[i]) { - QByteArray t(locale); - t += " "; - t += formats[i]; - QTest::newRow(t.constData()) << l << QString(formats[i]); - ++i; - } -} - -void tst_qdeclarativelocale::dateToLocaleTimeStringFormatted_data() -{ - QTest::addColumn("locale"); - QTest::addColumn("format"); - - addTimeFormatData("en_US"); - addTimeFormatData("de_DE"); - addTimeFormatData("ar_SA"); - addTimeFormatData("hi_IN"); - addTimeFormatData("zh_CN"); - addTimeFormatData("th_TH"); -} - -void tst_qdeclarativelocale::dateToLocaleTimeStringFormatted() -{ - QFETCH(QString, locale); - QFETCH(QString, format); - - QDeclarativeComponent c(&engine, testFileUrl("date.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QDateTime dt; - dt.setDate(QDate(2011, 10, 7)); // weirdly, JS Date month range is 0-11 - dt.setTime(QTime(18, 53, 48, 345)); - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - QVariant val; - QMetaObject::invokeMethod(obj, "toLocaleString", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(format))); - - QLocale l(locale); - QCOMPARE(val.toString(), l.toString(dt.time(), format)); -} - -void tst_qdeclarativelocale::dateFromLocaleString_data() -{ - QTest::addColumn("locale"); - QTest::addColumn("format"); - - QTest::newRow("en_US 1") << "en_US" << "dddd, MMMM d, yyyy h:mm:ss AP"; - QTest::newRow("en_US long") << "en_US" << QLocale("en_US").dateTimeFormat(); - QTest::newRow("en_US short") << "en_US" << QLocale("en_US").dateTimeFormat(QLocale::ShortFormat); - QTest::newRow("de_DE long") << "de_DE" << QLocale("de_DE").dateTimeFormat(); - QTest::newRow("de_DE short") << "de_DE" << QLocale("de_DE").dateTimeFormat(QLocale::ShortFormat); - QTest::newRow("ar_SA long") << "ar_SA" << QLocale("ar_SA").dateTimeFormat(); - QTest::newRow("ar_SA short") << "ar_SA" << QLocale("ar_SA").dateTimeFormat(QLocale::ShortFormat); - QTest::newRow("zh_CN long") << "zh_CN" << QLocale("zh_CN").dateTimeFormat(); - QTest::newRow("zh_CN short") << "zh_CN" << QLocale("zh_CN").dateTimeFormat(QLocale::ShortFormat); -} - -void tst_qdeclarativelocale::dateFromLocaleString() -{ - QFETCH(QString, locale); - QFETCH(QString, format); - - QDeclarativeComponent c(&engine, testFileUrl("date.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QDateTime dt; - dt.setDate(QDate(2011, 10, 7)); - dt.setTime(QTime(18, 53, 48, 345)); - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - QLocale l(locale); - QVariant val; - QMetaObject::invokeMethod(obj, "fromLocaleString", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(l.toString(dt, format))), - Q_ARG(QVariant, QVariant(format))); - - QDateTime pd = l.toDateTime(l.toString(dt, format), format); - QCOMPARE(val.toDateTime(), pd); -} - -void tst_qdeclarativelocale::dateFromLocaleDateString_data() -{ - QTest::addColumn("locale"); - QTest::addColumn("format"); - - QTest::newRow("en_US 1") << "en_US" << "dddd, MMMM d, yyyy h:mm:ss AP"; - QTest::newRow("en_US long") << "en_US" << QLocale("en_US").dateTimeFormat(); - QTest::newRow("en_US short") << "en_US" << QLocale("en_US").dateTimeFormat(QLocale::ShortFormat); - QTest::newRow("de_DE long") << "de_DE" << QLocale("de_DE").dateTimeFormat(); - QTest::newRow("de_DE short") << "de_DE" << QLocale("de_DE").dateTimeFormat(QLocale::ShortFormat); - QTest::newRow("ar_SA long") << "ar_SA" << QLocale("ar_SA").dateTimeFormat(); - QTest::newRow("ar_SA short") << "ar_SA" << QLocale("ar_SA").dateTimeFormat(QLocale::ShortFormat); - QTest::newRow("zh_CN long") << "zh_CN" << QLocale("zh_CN").dateTimeFormat(); - QTest::newRow("zh_CN short") << "zh_CN" << QLocale("zh_CN").dateTimeFormat(QLocale::ShortFormat); -} - -void tst_qdeclarativelocale::dateFromLocaleDateString() -{ - QFETCH(QString, locale); - QFETCH(QString, format); - - QDeclarativeComponent c(&engine, testFileUrl("date.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QDateTime dt; - dt.setDate(QDate(2011, 10, 7)); - dt.setTime(QTime(18, 53, 48, 345)); - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - QLocale l(locale); - QVariant val; - QMetaObject::invokeMethod(obj, "fromLocaleDateString", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(l.toString(dt, format))), - Q_ARG(QVariant, QVariant(format))); - - QDate pd = l.toDate(l.toString(dt, format), format); - QCOMPARE(val.toDate(), pd); -} - -void tst_qdeclarativelocale::dateFromLocaleTimeString_data() -{ - QTest::addColumn("locale"); - QTest::addColumn("format"); - - QTest::newRow("en_US 1") << "en_US" << "dddd, MMMM d, yyyy h:mm:ss AP"; - QTest::newRow("en_US long") << "en_US" << QLocale("en_US").dateTimeFormat(); - QTest::newRow("en_US short") << "en_US" << QLocale("en_US").dateTimeFormat(QLocale::ShortFormat); - QTest::newRow("de_DE long") << "de_DE" << QLocale("de_DE").dateTimeFormat(); - QTest::newRow("de_DE short") << "de_DE" << QLocale("de_DE").dateTimeFormat(QLocale::ShortFormat); - QTest::newRow("ar_SA long") << "ar_SA" << QLocale("ar_SA").dateTimeFormat(); - QTest::newRow("ar_SA short") << "ar_SA" << QLocale("ar_SA").dateTimeFormat(QLocale::ShortFormat); - QTest::newRow("zh_CN long") << "zh_CN" << QLocale("zh_CN").dateTimeFormat(); - QTest::newRow("zh_CN short") << "zh_CN" << QLocale("zh_CN").dateTimeFormat(QLocale::ShortFormat); -} - -void tst_qdeclarativelocale::dateFromLocaleTimeString() -{ - QFETCH(QString, locale); - QFETCH(QString, format); - - QDeclarativeComponent c(&engine, testFileUrl("date.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QDateTime dt; - dt.setDate(QDate(2011, 10, 7)); - dt.setTime(QTime(18, 53, 48, 345)); - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - QLocale l(locale); - QVariant val; - QMetaObject::invokeMethod(obj, "fromLocaleTimeString", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(l.toString(dt, format))), - Q_ARG(QVariant, QVariant(format))); - - QTime pd = l.toTime(l.toString(dt, format), format); - QCOMPARE(val.toTime(), pd); -} - -void tst_qdeclarativelocale::numberToLocaleString_data() -{ - QTest::addColumn("locale"); - QTest::addColumn("format"); - QTest::addColumn("prec"); - - QTest::newRow("en_US 1") << "en_US" << 'f' << 2; - QTest::newRow("en_US 2") << "en_US" << 'g' << 3; - QTest::newRow("en_US 3") << "en_US" << 'f' << 0; - QTest::newRow("en_US 4") << "en_US" << 'f' << -1; - QTest::newRow("de_DE 1") << "de_DE" << 'f' << 2; - QTest::newRow("de_DE 2") << "de_DE" << 'g' << 3; - QTest::newRow("ar_SA 1") << "ar_SA" << 'f' << 2; - QTest::newRow("ar_SA 2") << "ar_SA" << 'g' << 3; -} - -void tst_qdeclarativelocale::numberToLocaleString() -{ - QFETCH(QString, locale); - QFETCH(char, format); - QFETCH(int, prec); - - QDeclarativeComponent c(&engine, testFileUrl("number.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - double number = 2344423.3289; - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - QLocale l(locale); - QVariant val; - QMetaObject::invokeMethod(obj, "toLocaleString", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(number)), - Q_ARG(QVariant, QVariant(QString(format))), - Q_ARG(QVariant, QVariant(prec))); - - if (prec < 0) prec = 2; - QCOMPARE(val.toString(), l.toString(number, format, prec)); -} - -void tst_qdeclarativelocale::numberToLocaleCurrencyString_data() -{ - QTest::addColumn("locale"); - QTest::addColumn("symbol"); - - QTest::newRow("en_US 1") << "en_US" << QString(); - QTest::newRow("en_US 2") << "en_US" << "USD"; - QTest::newRow("de_DE") << "de_DE" << QString(); - QTest::newRow("ar_SA") << "ar_SA" << QString(); - QTest::newRow("hi_IN") << "hi_IN" << QString(); - QTest::newRow("zh_CN") << "zh_CN" << QString(); - QTest::newRow("th_TH") << "th_TH" << QString(); -} - -void tst_qdeclarativelocale::numberToLocaleCurrencyString() -{ - QFETCH(QString, locale); - QFETCH(QString, symbol); - - QDeclarativeComponent c(&engine, testFileUrl("number.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - double number = 2344423.3289; - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - QLocale l(locale); - QVariant val; - QMetaObject::invokeMethod(obj, "toLocaleCurrencyString", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(number)), - Q_ARG(QVariant, QVariant(symbol))); - - QCOMPARE(val.toString(), l.toCurrencyString(number, symbol)); -} - -void tst_qdeclarativelocale::numberFromLocaleString_data() -{ - QTest::addColumn("locale"); - QTest::addColumn("number"); - - QTest::newRow("en_US 1") << "en_US" << 1234567.2345; - QTest::newRow("en_US 2") << "en_US" << 0.234; - QTest::newRow("en_US 3") << "en_US" << 234.0; - QTest::newRow("de_DE") << "de_DE" << 1234567.2345; - QTest::newRow("ar_SA") << "ar_SA" << 1234567.2345; - QTest::newRow("hi_IN") << "hi_IN" << 1234567.2345; - QTest::newRow("zh_CN") << "zh_CN" << 1234567.2345; - QTest::newRow("th_TH") << "th_TH" << 1234567.2345; -} - -void tst_qdeclarativelocale::numberFromLocaleString() -{ - QFETCH(QString, locale); - QFETCH(double, number); - - QDeclarativeComponent c(&engine, testFileUrl("number.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QLocale l(locale); - QString strNumber = l.toString(number, 'f'); - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant(locale))); - - QVariant val; - QMetaObject::invokeMethod(obj, "fromLocaleString", Qt::DirectConnection, - Q_RETURN_ARG(QVariant, val), - Q_ARG(QVariant, QVariant(strNumber))); - - QCOMPARE(val.toDouble(), l.toDouble(strNumber)); -} - -void tst_qdeclarativelocale::numberConstToLocaleString() -{ - QDeclarativeComponent c(&engine, testFileUrl("number.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - QMetaObject::invokeMethod(obj, "setLocale", Qt::DirectConnection, - Q_ARG(QVariant, QVariant("en_US"))); - - QLocale l("en_US"); - QCOMPARE(obj->property("const1").toString(), l.toString(1234.56, 'f', 2)); - QCOMPARE(obj->property("const2").toString(), l.toString(1234., 'f', 2)); -} - -void tst_qdeclarativelocale::stringLocaleCompare_data() -{ - QTest::addColumn("string1"); - QTest::addColumn("string2"); - - QTest::newRow("before") << "a" << "b"; - QTest::newRow("equal") << "a" << "a"; - QTest::newRow("after") << "b" << "a"; - - // Copied from QString::localeAwareCompare tests - // We don't actually change locale - we just care that String.localeCompare() - // matches QString::localeAwareCompare(); - QTest::newRow("swedish1") << QString("\xe5") << QString("\xe4"); - QTest::newRow("swedish2") << QString("\xe4") << QString("\xf6"); - QTest::newRow("swedish3") << QString("\xe5") << QString("\xf6"); - QTest::newRow("swedish4") << QString("z") << QString("\xe5"); - - QTest::newRow("german1") << QString("z") << QString("\xe4"); - QTest::newRow("german2") << QString("\xe4") << QString("\xf6"); - QTest::newRow("german3") << QString("z") << QString("\xf6"); -} - -void tst_qdeclarativelocale::stringLocaleCompare() -{ - QFETCH(QString, string1); - QFETCH(QString, string2); - - QDeclarativeComponent c(&engine, testFileUrl("localeCompare.qml")); - - QObject *obj = c.create(); - QVERIFY(obj); - - obj->setProperty("string1", string1); - obj->setProperty("string2", string2); - - QCOMPARE(obj->property("comparison").toInt(), QString::localeAwareCompare(string1, string2)); -} - -QTEST_MAIN(tst_qdeclarativelocale) - -#include "tst_qdeclarativelocale.moc" -- cgit v1.2.3