tst_QVariant: fix stringification of char16_t and char32_t

QVariant::toUInt() cannot convert from those two, so we always ended up
with 0, producing lots of duplicated test rows.

Pick-to: 6.7
Fixes: QTBUG-124349
Change-Id: Ie28eadac333c4bcd8c08fffd17c5a3e39a2cc3f6
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
bb10
Thiago Macieira 2024-04-12 13:57:11 -07:00
parent 848451095b
commit 8381a4b44f
1 changed files with 3 additions and 1 deletions

View File

@ -3005,9 +3005,11 @@ void tst_QVariant::compareNumerics_data() const
QString::number(v.toULongLong()) :
QString::number(v.toLongLong());
switch (v.typeId()) {
case QMetaType::Char:
case QMetaType::Char16:
return QString::number(qvariant_cast<char16_t>(v));
case QMetaType::Char32:
return QString::number(qvariant_cast<char32_t>(v));
case QMetaType::Char:
case QMetaType::UChar:
return QString::number(v.toUInt());
case QMetaType::SChar: