summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp10
-rw-r--r--tests/auto/corelib/tools/qstringbuilder/qstringbuilder1/stringbuilder.cpp30
2 files changed, 35 insertions, 5 deletions
diff --git a/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp b/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp
index fe9b5f67c4..72493d3956 100644
--- a/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp
+++ b/tests/auto/corelib/tools/qbytearray/tst_qbytearray.cpp
@@ -181,7 +181,7 @@ private slots:
} while (false) \
/**/
-struct StaticByteArrays {
+static const struct StaticByteArrays {
struct Standard {
QByteArrayData data;
const char string[8];
@@ -207,10 +207,10 @@ struct StaticByteArrays {
,{{ Q_REFCOUNT_INITIALIZE_STATIC, /* length = */ 4, 0, 0, sizeof(QByteArrayData) + sizeof(char) }, 0, "dataBAD"}
};
-static const QStaticByteArrayData<1> &staticStandard = reinterpret_cast<QStaticByteArrayData<1> &>(statics.standard);
-static const QStaticByteArrayData<1> &staticNotNullTerminated = reinterpret_cast<QStaticByteArrayData<1> &>(statics.notNullTerminated);
-static const QStaticByteArrayData<1> &staticShifted = reinterpret_cast<QStaticByteArrayData<1> &>(statics.shifted);
-static const QStaticByteArrayData<1> &staticShiftedNotNullTerminated = reinterpret_cast<QStaticByteArrayData<1> &>(statics.shiftedNotNullTerminated);
+static const QByteArrayDataPtr staticStandard = { const_cast<QByteArrayData *>(&statics.standard.data) };
+static const QByteArrayDataPtr staticNotNullTerminated = { const_cast<QByteArrayData *>(&statics.notNullTerminated.data) };
+static const QByteArrayDataPtr staticShifted = { const_cast<QByteArrayData *>(&statics.shifted.data) };
+static const QByteArrayDataPtr staticShiftedNotNullTerminated = { const_cast<QByteArrayData *>(&statics.shiftedNotNullTerminated.data) };
tst_QByteArray::tst_QByteArray()
{
diff --git a/tests/auto/corelib/tools/qstringbuilder/qstringbuilder1/stringbuilder.cpp b/tests/auto/corelib/tools/qstringbuilder/qstringbuilder1/stringbuilder.cpp
index 556b9ac16a..429652d92d 100644
--- a/tests/auto/corelib/tools/qstringbuilder/qstringbuilder1/stringbuilder.cpp
+++ b/tests/auto/corelib/tools/qstringbuilder/qstringbuilder1/stringbuilder.cpp
@@ -107,6 +107,21 @@ void runScenario()
QCOMPARE(r, r3);
#endif
+ {
+ static const QStaticStringData<12> literalData = {
+ { Q_REFCOUNT_INITIALIZE_STATIC, 12, 0, 0, sizeof(QStringData) },
+ { 's', 'o', 'm', 'e', ' ', 'l', 'i', 't', 'e', 'r', 'a', 'l' }
+ };
+ static QStringDataPtr literal = { literalData.data_ptr() };
+
+ r = literal;
+ QCOMPARE(r, string);
+ r = r Q literal;
+ QCOMPARE(r, r2);
+ r = literal Q literal;
+ QCOMPARE(r, r2);
+ }
+
#ifndef QT_NO_CAST_FROM_ASCII
r = string P LITERAL;
QCOMPARE(r, r2);
@@ -211,6 +226,21 @@ void runScenario()
QCOMPARE(r, ba);
}
+ {
+ static const QStaticByteArrayData<12> literalData = {
+ { Q_REFCOUNT_INITIALIZE_STATIC, 12, 0, 0, sizeof(QByteArrayData) },
+ { 's', 'o', 'm', 'e', ' ', 'l', 'i', 't', 'e', 'r', 'a', 'l' }
+ };
+ static QByteArrayDataPtr literal = { literalData.data_ptr() };
+
+ QByteArray ba = literal;
+ QCOMPARE(ba, QByteArray(LITERAL));
+ ba = ba Q literal;
+ QCOMPARE(ba, QByteArray(LITERAL LITERAL));
+ ba = literal Q literal;
+ QCOMPARE(ba, QByteArray(LITERAL LITERAL));
+ }
+
//operator QString +=
{
QString str = QString::fromUtf8(UTF8_LITERAL);