qt5base-lts/tests/auto/corelib/tools
Edward Welbourne ab448f731e Handle QCollator with locale C by delegating to QString
Previously, the C locale was treated as English because each back-end
takes the locale's bcp47Name(), which maps C to en. However, the C
locale has its own rules; which QString helpfully implements; so we
can delegate to it in this case. Extended this to sort keys, where
possible. Clean up existing implementations in the process.

Extended tst_QCollator::compare() with some cases to check this. That
required wrapping the test's calls to collator.compare() in a sign
canonicalizer, since it can return any -ve for < or +ve for >, not
just -1 and +1 for these cases (and it'd be rash to hard-code specific
negative and positive values, as they may vary between backends).

[ChangeLog][QtCore][QCollator] Added support for collation in the C
locale, albeit this is only well-defined for ASCII. Collation sort
keys remain unsupported on Darwin.

Fixes: QTBUG-58621
Change-Id: I327010d90f09bd1b1816f5590cb124e3d423e61d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2018-12-11 19:05:07 +00:00
..
collections implement non-member operator+ for iterators 2018-03-06 22:04:37 +00:00
containerapisymmetry Add front()/back() to QString, QStringRef, QByteArray and QLatin1String 2017-04-07 08:32:32 +00:00
qalgorithms Change almost all other uses of qrand() to QRandomGenerator 2017-11-08 09:14:03 +00:00
qarraydata tst_QArrayData: fix unused variable warning in reallocate() 2017-03-22 09:22:34 +00:00
qarraydata_strictiterators Make sure all containers compile in strict-iterator mode 2014-02-22 04:38:01 +01:00
qbitarray Updated license headers 2016-01-21 18:55:18 +00:00
qbytearray QByteArray: toInt() and toDouble() ignore surrounding whitespaces 2018-07-07 19:58:18 +00:00
qbytearraylist Updated license headers 2016-01-21 18:55:18 +00:00
qbytearraymatcher Long live QStaticByteArrayMatcher! 2017-01-19 21:37:46 +00:00
qbytedatabuffer Updated license headers 2016-01-21 18:55:18 +00:00
qcache Updated license headers 2016-01-21 18:55:18 +00:00
qchar Merge remote-tracking branch 'origin/5.9' into 5.11 2018-02-14 12:51:24 +01:00
qcollator Handle QCollator with locale C by delegating to QString 2018-12-11 19:05:07 +00:00
qcommandlineparser Merge remote-tracking branch 'origin/5.11' into 5.12 2018-09-30 01:00:19 +02:00
qcontiguouscache Updated license headers 2016-01-21 18:55:18 +00:00
qcryptographichash QCryptographicHash: Add a static method to retrieve hash length 2018-04-10 12:17:43 +00:00
qdate Raise the upper bound on years to 9999 2017-11-30 20:19:13 +00:00
qdatetime Use msvc qmake scope where appropriate 2018-11-22 14:16:52 +00:00
qeasingcurve MinGW: Exclude failing value of tst_QEasingCurve::setCustomType() 2018-08-21 07:12:19 +00:00
qexplicitlyshareddatapointer Add nullptr comparison to Q{Explicitly,}SharedDataPointer 2018-03-18 17:28:26 +00:00
qfreelist Use qtConfig throughout in qtbase 2016-08-19 04:28:05 +00:00
qhash Merge remote-tracking branch 'origin/5.9' into dev 2017-05-07 13:08:18 +02:00
qhash_strictiterators Make sure all containers compile in strict-iterator mode 2014-02-22 04:38:01 +01:00
qhashfunctions QHash: make it so a zero seed selects a constant algorithm 2017-04-26 15:22:44 +00:00
qlatin1string Replace Q_NULLPTR with nullptr where possible 2017-09-19 11:53:55 +00:00
qline Tests: Fix clang warnings about unused variables and captures 2018-05-02 09:36:00 +00:00
qlinkedlist Merge remote-tracking branch 'origin/5.6' into 5.7 2016-05-19 12:55:27 +02:00
qlist Merge remote-tracking branch 'origin/5.6' into 5.7 2016-05-19 12:55:27 +02:00
qlist_strictiterators Make sure all containers compile in strict-iterator mode 2014-02-22 04:38:01 +01:00
qlocale Merge remote-tracking branch 'origin/5.11' into 5.12 2018-11-27 01:00:09 +01:00
qmacautoreleasepool Add missing dependencies for tst_qmacautoreleasepool 2018-08-29 02:47:45 +00:00
qmakearray corelib/tools: add qMakeArray() API 2018-07-25 06:57:44 +00:00
qmap Implement key-value iterator 2017-05-05 14:25:56 +00:00
qmap_strictiterators Make sure all containers compile in strict-iterator mode 2014-02-22 04:38:01 +01:00
qmargins Updated license headers 2016-01-21 18:55:18 +00:00
qmessageauthenticationcode Updated license headers 2016-01-21 18:55:18 +00:00
qpair Merge remote-tracking branch 'origin/5.6' into 5.7 2016-07-15 20:47:57 +02:00
qpoint Updated license headers 2016-01-21 18:55:18 +00:00
qpointf Fix regression in QPointF::operator== 2018-07-09 15:38:31 +00:00
qqueue Updated license headers 2016-01-21 18:55:18 +00:00
qrect Improve rounding of QRect::toRect 2017-06-26 21:35:38 +00:00
qregexp QtCore: Remove Windows CE. 2016-03-30 11:22:47 +00:00
qregularexpression Reduce run time of tst_QRegularExpression::threadSafety 2018-11-19 11:45:38 +00:00
qringbuffer QRingBuffer: avoid reallocations of the data 2017-12-30 10:15:10 +00:00
qscopedpointer QScopedPointer: add get() 2017-09-17 11:42:26 +00:00
qscopedvaluerollback Updated license headers 2016-01-21 18:55:18 +00:00
qscopeguard Introduce QScopeGuard 2018-07-21 17:47:35 +00:00
qset Updated license headers 2016-01-21 18:55:18 +00:00
qsharedpointer tst_QSharedPointer: raise the timeout for running qmake and makespec 2018-08-04 23:26:24 +00:00
qsize Updated license headers 2016-01-21 18:55:18 +00:00
qsizef Updated license headers 2016-01-21 18:55:18 +00:00
qstl Updated license headers 2016-01-21 18:55:18 +00:00
qstring Add QString::compare(QStringView, CaseSensitivity) 2018-09-03 08:55:45 +00:00
qstring_no_cast_from_bytearray Updated license headers 2016-01-21 18:55:18 +00:00
qstringapisymmetry qstringapisymmetry: Fix XML parsing failing on invalid encodings 2018-03-02 07:59:12 +00:00
qstringbuilder QStringBuilder: add support for QStringView 2018-01-08 09:41:43 +00:00
qstringiterator QStringIterator: port to QStringView 2017-04-03 15:41:09 +00:00
qstringlist QStringList: add contains(QStringView) overload 2018-09-03 08:55:52 +00:00
qstringmatcher QStringMatcher: fix setCaseSensitivity() on a non-QString-backed matcher 2017-02-07 16:31:00 +00:00
qstringref Remove references to obsolete platforms 2017-11-05 06:33:53 +00:00
qstringview QStringView: Add compare() member function 2018-07-13 13:32:34 +00:00
qtextboundaryfinder Merge remote-tracking branch 'origin/5.9' into 5.11 2018-02-14 12:51:24 +01:00
qtime Raise the upper bound on years to 9999 2017-11-30 20:19:13 +00:00
qtimeline Extend blacklisting of qtimeline::frameRate to macOS 10.13 2018-09-24 21:13:00 +00:00
qtimezone Merge remote-tracking branch 'origin/5.11' into dev 2018-07-02 11:23:45 +02:00
qvarlengtharray fixup oversight in rvalue overloads of operator+=() and operator<<() 2018-03-26 14:29:47 +00:00
qvector fixup oversight in rvalue overloads of operator+=() and operator<<() 2018-03-26 14:29:47 +00:00
qvector_strictiterators Make sure all containers compile in strict-iterator mode 2014-02-22 04:38:01 +01:00
qversionnumber Tests: Raise minimum supported MSVC version to 2015 2018-01-04 20:23:25 +00:00
tools.pro corelib/tools: add qMakeArray() API 2018-07-25 06:57:44 +00:00