summaryrefslogtreecommitdiffstats
path: root/src/testlib/qtestdata.h
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2021-12-28 09:06:53 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-01-03 11:23:17 +0000
commit7e2860d4158438d714f2f86cd65b35f4ab1e2a60 (patch)
treebcb3c963d04d6942c8d54ca9c70c5fa3fada686a /src/testlib/qtestdata.h
parent0b265eecc0cb8e3c97f36bc37cb155570cdd0483 (diff)
QTestData: fix streaming of u8 string literals in C++20 mode
...fixing tst_QLocale: QDEBUG : tst_QLocale::formatDate() expected data of type 'QString', got 'char8_t [64]' for element 1 of data with tag 'unicode in format string' QFATAL : tst_QLocale::formatDate() ASSERT: false in file /home/marc/Qt/qtbase/src/testlib/qtestdata.cpp, line 105 In C++20, the type of u8 string literals changed from const char[] to const char8_t[]. [ChangeLog][QtTest][QTestData] Fixed streaming of u8 string literals in C++20 mode. Task-number: QTBUG-99480 Task-number: QTBUG-99481 Change-Id: I53bd73522a4ebce307f360e225f25590f981d44a Reviewed-by: Lars Knoll <lars.knoll@qt.io> (cherry picked from commit 7c8126d9099841fd0ccf643d36b963a75161aab9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/testlib/qtestdata.h')
-rw-r--r--src/testlib/qtestdata.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/testlib/qtestdata.h b/src/testlib/qtestdata.h
index cf10fed8f3..ed81a9de6e 100644
--- a/src/testlib/qtestdata.h
+++ b/src/testlib/qtestdata.h
@@ -85,6 +85,14 @@ inline QTestData &operator<<(QTestData &data, const char * value)
return data;
}
+#ifdef __cpp_char8_t
+Q_WEAK_OVERLOAD
+inline QTestData &operator<<(QTestData &data, const char8_t *value)
+{
+ return data << reinterpret_cast<const char *>(value);
+}
+#endif
+
#ifdef QT_USE_QSTRINGBUILDER
template<typename A, typename B>
inline QTestData &operator<<(QTestData &data, const QStringBuilder<A, B> &value)