diff options
author | Mike FABIAN <mike.fabian@basyskom.de> | 2010-07-12 12:15:38 +0300 |
---|---|---|
committer | Mike FABIAN <mike.fabian@basyskom.de> | 2010-07-13 17:29:31 +0300 |
commit | 91fe39aa5e5bc26fa3d852597867c0d3dd730b2f (patch) | |
tree | 6f7495b96f2ec8cd98c50d024b8f9b6bd5aa031c /tests | |
parent | 2eb42466987ea974ae95c26e56146798cad76902 (diff) |
Changes: add unit test for the 2 variants of formatDateTimeICU()
RevBy: Holger Schröder, Bernd Lamecker, John Tapsell
Diffstat (limited to 'tests')
-rw-r--r-- | tests/ut_mcalendar/ut_mcalendar.cpp | 103 | ||||
-rw-r--r-- | tests/ut_mcalendar/ut_mcalendar.h | 3 |
2 files changed, 106 insertions, 0 deletions
diff --git a/tests/ut_mcalendar/ut_mcalendar.cpp b/tests/ut_mcalendar/ut_mcalendar.cpp index 8814a63f..c3b93632 100644 --- a/tests/ut_mcalendar/ut_mcalendar.cpp +++ b/tests/ut_mcalendar/ut_mcalendar.cpp @@ -1929,6 +1929,109 @@ void Ut_MCalendar::testPosixFormatPattern() } } +void Ut_MCalendar::testFormatDateTimeICU_data() +{ + QTest::addColumn<MLocale::CalendarType>("calendarType"); + QTest::addColumn<int>("year"); + QTest::addColumn<int>("month"); + QTest::addColumn<int>("day"); + QTest::addColumn<int>("hour"); + QTest::addColumn<int>("minute"); + QTest::addColumn<int>("second"); + QTest::addColumn<QString>("localeName"); + QTest::addColumn<QString>("format"); + QTest::addColumn<QString>("result"); + + QTest::newRow("fi_FI “G”") + << MLocale::GregorianCalendar + << 2008 + << 2 + << 3 + << 12 + << 25 + << 3 + << "fi_FI" + << "G" // era designator + << "jKr."; + QTest::newRow("de_DE “G”") + << MLocale::GregorianCalendar + << 2008 + << 2 + << 3 + << 12 + << 25 + << 3 + << "de_DE" + << "G" // era designator + << "n. Chr."; + QTest::newRow("zh_CN “G”") + << MLocale::GregorianCalendar + << 2008 + << 2 + << 3 + << 12 + << 25 + << 3 + << "zh_CN" + << "G" // era designator + << "公元"; + QTest::newRow("ja_JP “G”") + << MLocale::GregorianCalendar + << 2008 + << 2 + << 3 + << 12 + << 25 + << 3 + << "ja_JP" + << "G" // era designator + << "AD"; + QTest::newRow("ja_JP “G”") + << MLocale::JapaneseCalendar + << 2008 + << 2 + << 3 + << 12 + << 25 + << 3 + << "ja_JP" + << "G" // era designator + << "平成"; +} + +void Ut_MCalendar::testFormatDateTimeICU() +{ + QFETCH(MLocale::CalendarType, calendarType); + QFETCH(int, year); + QFETCH(int, month); + QFETCH(int, day); + QFETCH(int, hour); + QFETCH(int, minute); + QFETCH(int, second); + QFETCH(QString, localeName); + QFETCH(QString, format); + QFETCH(QString, result); + + MLocale locale(localeName); + locale.setCalendarType(calendarType); + MCalendar mcal(locale); + mcal.setDate(year, month, day); + mcal.setTime(hour, minute, second); + QDate date(year, month, day); + QTime time(hour, minute, second); + QDateTime datetime(date, time, Qt::LocalTime); + QLocale qlocale(localeName); + + QTextStream debugStream(stderr); + debugStream.setCodec("UTF-8"); + debugStream << "format: " << format + << "actual result: " << locale.formatDateTimeICU(mcal, format) + << " expected result: " << result << "\n"; + + QCOMPARE(locale.formatDateTimeICU(mcal, format), result); + QCOMPARE(locale.formatDateTimeICU(datetime, format), result); +} + void Ut_MCalendar::testWeekdaySymbols_data() { QTest::addColumn<QString>("localeName"); diff --git a/tests/ut_mcalendar/ut_mcalendar.h b/tests/ut_mcalendar/ut_mcalendar.h index 8471f188..b44a7702 100644 --- a/tests/ut_mcalendar/ut_mcalendar.h +++ b/tests/ut_mcalendar/ut_mcalendar.h @@ -69,6 +69,9 @@ private slots: void testPosixFormatPattern_data(); void testPosixFormatPattern(); + void testFormatDateTimeICU_data(); + void testFormatDateTimeICU(); + void testWeekdaySymbols_data(); void testWeekdaySymbols(); |