From 43c964b8ada63942b5d239f60fdbca6f5773f678 Mon Sep 17 00:00:00 2001 From: Sona Kurazyan Date: Mon, 4 Nov 2019 10:18:41 +0100 Subject: Fix converting a null QStringRef to QString The assumption when calling QStringRef::toString() on a null QStringRef (i.e. when QStringRef::isNull() is true) is that QStringRef::toString().isNull() will also return true. With the current implementation we return a null QString() only when the QStringRef references a nullptr QString. We need to do the same also when QStringRef references a QString with null private data. Change-Id: I4177a5ea187ae758d7c46fe76a9d0583140e90cb Reviewed-by: Thiago Macieira --- tests/auto/corelib/text/qstringref/tst_qstringref.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tests/auto') diff --git a/tests/auto/corelib/text/qstringref/tst_qstringref.cpp b/tests/auto/corelib/text/qstringref/tst_qstringref.cpp index 6f01947131..20d5426bf7 100644 --- a/tests/auto/corelib/text/qstringref/tst_qstringref.cpp +++ b/tests/auto/corelib/text/qstringref/tst_qstringref.cpp @@ -87,6 +87,7 @@ private slots: void mid(); void split_data(); void split(); + void nullToString(); }; static QStringRef emptyRef() @@ -2177,6 +2178,18 @@ void tst_QStringRef::split() } } +void tst_QStringRef::nullToString() +{ + QStringRef nullRef; + QVERIFY(nullRef.isNull()); + QVERIFY(nullRef.toString().isNull()); + + QString str; + nullRef = &str; + QVERIFY(nullRef.isNull()); + QVERIFY(nullRef.toString().isNull()); +} + QTEST_APPLESS_MAIN(tst_QStringRef) #include "tst_qstringref.moc" -- cgit v1.2.3