diff options
Diffstat (limited to 'tests/auto/corelib/tools/qcollator/tst_qcollator.cpp')
-rw-r--r-- | tests/auto/corelib/tools/qcollator/tst_qcollator.cpp | 34 |
1 files changed, 26 insertions, 8 deletions
diff --git a/tests/auto/corelib/tools/qcollator/tst_qcollator.cpp b/tests/auto/corelib/tools/qcollator/tst_qcollator.cpp index fc4d51a302..ed57b7cce0 100644 --- a/tests/auto/corelib/tools/qcollator/tst_qcollator.cpp +++ b/tests/auto/corelib/tools/qcollator/tst_qcollator.cpp @@ -55,6 +55,8 @@ private Q_SLOTS: void compare_data(); void compare(); + + void state(); }; #ifdef Q_COMPILER_RVALUE_REFS @@ -124,14 +126,10 @@ void tst_QCollator::compare_data() diaresis (E4), which comes before o diaresis (F6), which all come after z. */ -#if !defined(Q_OS_WIN) || defined(QT_USE_ICU) QTest::newRow("swedish1") << QString("sv_SE") << QString::fromLatin1("\xe5") << QString::fromLatin1("\xe4") << -1 << -1 << false; -#endif QTest::newRow("swedish2") << QString("sv_SE") << QString::fromLatin1("\xe4") << QString::fromLatin1("\xf6") << -1 << -1 << false; QTest::newRow("swedish3") << QString("sv_SE") << QString::fromLatin1("\xe5") << QString::fromLatin1("\xf6") << -1 << -1 << false; -#if !defined(Q_OS_OSX) && (!defined(Q_OS_WIN) || defined(QT_USE_ICU)) QTest::newRow("swedish4") << QString("sv_SE") << QString::fromLatin1("z") << QString::fromLatin1("\xe5") << -1 << -1 << false; -#endif QTest::newRow("swedish5") << QString("sv_SE") << QString("9") << QString("19") << -1 << -1 << true; /* @@ -139,12 +137,8 @@ void tst_QCollator::compare_data() comes before a with ring above (E5). */ QTest::newRow("norwegian1") << QString("no_NO") << QString::fromLatin1("\xe6") << QString::fromLatin1("\xd8") << -1 << -1 << false; -#if !defined(Q_OS_WIN) || defined(QT_USE_ICU) -# ifndef Q_OS_OSX QTest::newRow("norwegian2") << QString("no_NO") << QString::fromLatin1("\xd8") << QString::fromLatin1("\xe5") << -1 << -1 << false; -# endif QTest::newRow("norwegian3") << QString("no_NO") << QString::fromLatin1("\xe6") << QString::fromLatin1("\xe5") << -1 << -1 << false; -#endif // !Q_OS_WIN || QT_USE_ICU QTest::newRow("norwegian4") << QString("no_NO") << QString("9") << QString("19") << -1 << -1 << true; /* @@ -192,6 +186,30 @@ void tst_QCollator::compare() QCOMPARE(collator.compare(s1, s2), caseInsensitiveResult); } + +void tst_QCollator::state() +{ + QCollator c; + c.setCaseSensitivity(Qt::CaseInsensitive); + c.setLocale(QLocale::German); + + c.compare(QString("a"), QString("b")); + + QCOMPARE(c.caseSensitivity(), Qt::CaseInsensitive); + QCOMPARE(c.locale(), QLocale(QLocale::German)); + + c.setLocale(QLocale::French); + c.setNumericMode(true); + c.setIgnorePunctuation(true); + c.setLocale(QLocale::Norwegian); + + QCOMPARE(c.caseSensitivity(), Qt::CaseInsensitive); + QCOMPARE(c.numericMode(), true); + QCOMPARE(c.ignorePunctuation(), true); + QCOMPARE(c.locale(), QLocale(QLocale::Norwegian)); + +} + QTEST_APPLESS_MAIN(tst_QCollator) #include "tst_qcollator.moc" |