tst_QString: add more checks for unary arg() calls

Add missing checks for integral overloads uint, short and ushort and
character overloads char and char16_t (the latter being a reproducer
for QTBUG-125588).

Pick-to: 6.7 6.5 6.2
Task-number: QTBUG-125588
Change-Id: I479e4c8c3cd86c3f85ab3c9d44b79158b0a48476
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
This commit is contained in:
Marc Mutz 2024-05-28 11:28:10 +02:00
parent 0efd2e084d
commit a6d2e45d57

View File

@ -6647,10 +6647,19 @@ void tst_QString::arg()
// number overloads
QCOMPARE( s4.arg(0), QLatin1String("[0]") );
QCOMPARE( s4.arg(-1), QLatin1String("[-1]") );
QCOMPARE( s4.arg(0U), QLatin1String("[0]"));
QCOMPARE( s4.arg(short(-4200)), QLatin1String("[-4200]"));
QCOMPARE( s4.arg(ushort(42000)), QLatin1String("[42000]"));
QCOMPARE( s4.arg(4294967295UL), QLatin1String("[4294967295]") ); // ULONG_MAX 32
QCOMPARE( s4.arg(Q_INT64_C(9223372036854775807)), // LLONG_MAX
QLatin1String("[9223372036854775807]") );
// char-ish overloads
QCOMPARE(s4.arg('\xE4'), QStringView(u"[ä]"));
QEXPECT_FAIL("", "QTBUG-125588", Continue);
QCOMPARE(s4.arg(u'ø'), QStringView(u"[ø]"));
//QCOMPARE(s4.arg(u8'a'), QLatin1String("[a]"));
QTest::ignoreMessage(QtWarningMsg, "QString::arg: Argument missing: , foo");
QCOMPARE(QString().arg(foo), QString());
QTest::ignoreMessage(QtWarningMsg, "QString::arg: Argument missing: \"\" , 0");