qt5base-lts/tests/auto/corelib/io
Tor Arne Vestbø 3eac6079d9 macOS: Don't mangle QByteArray settings with @ prefix by decoding as UTF-8
QSettings encodes QVariants as @Type(data) strings. If that data contains
a null-byte, we write the string as UTF-8 encoded CFData. When reading it
back we look for a @ prefix, and then pass it as UTF-8 through stringToVariant.

The problem arises then the user writes raw QByteArrays with a @ prefix.
We can detect this situation by checking the result of stringToVariant,
and if it's just a simple conversion of the string into a QVariant, we
know that stringToVariant hit its fallback path due to not finding any
embedded variants.

If that's the case, we return the raw bytes as a QByteArray.

Pick-to: 6.2 6.1 5.15 5.12
Change-Id: I4ac5c35d0a6890ebea983b9aca0a3a36b0143de2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2021-07-13 00:59:49 +02:00
..
largefile Move QEMU emulation detector to QTest 2021-02-13 10:02:51 +02:00
qabstractfileengine Remove the qmake project files 2021-01-07 15:32:28 +01:00
qbuffer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qdataurl Remove the qmake project files 2021-01-07 15:32:28 +01:00
qdebug Remove the qmake project files 2021-01-07 15:32:28 +01:00
qdir Unify behavior for long path or UNC prefix removal 2021-06-05 01:16:06 +02:00
qdiriterator Remove the qmake project files 2021-01-07 15:32:28 +01:00
qfile tst_QFile: fix GCC -Wignored-qualifiers 2021-07-09 17:59:01 +02:00
qfileinfo Implement QFileInfo::junctionTarget(), adjust auto-test 2021-06-05 01:16:06 +02:00
qfileselector Remove the qmake project files 2021-01-07 15:32:28 +01:00
qfilesystementry CMake: Remove the usage of QT_SOURCE_TREE from tests 2021-07-12 18:56:14 +02:00
qfilesystemmetadata Remove the qmake project files 2021-01-07 15:32:28 +01:00
qfilesystemwatcher Remove the qmake project files 2021-01-07 15:32:28 +01:00
qiodevice Run tst_QIODevice::skip() on random-access device 2021-07-03 21:47:19 +03:00
qipaddress Disable security warnings from MSVC in tests 2021-03-17 17:22:00 +01:00
qlockfile Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
qloggingcategory Remove the qmake project files 2021-01-07 15:32:28 +01:00
qloggingregistry QLoggingSettingsParser: port setContent() to QStringView 2021-06-16 13:22:18 +02:00
qnodebug Remove the qmake project files 2021-01-07 15:32:28 +01:00
qprocess tst_QProcess: increase wait time and remove ill-advised QCOMPARE 2021-05-03 20:43:01 +00:00
qprocess-noapplication Remove the qmake project files 2021-01-07 15:32:28 +01:00
qprocessenvironment Remove the qmake project files 2021-01-07 15:32:28 +01:00
qresourceengine Remove the qmake project files 2021-01-07 15:32:28 +01:00
qsavefile Remove the qmake project files 2021-01-07 15:32:28 +01:00
qsettings macOS: Don't mangle QByteArray settings with @ prefix by decoding as UTF-8 2021-07-13 00:59:49 +02:00
qstandardpaths Remove the qmake project files 2021-01-07 15:32:28 +01:00
qstorageinfo Remove the qmake project files 2021-01-07 15:32:28 +01:00
qtemporarydir Unify behavior for long path or UNC prefix removal 2021-06-05 01:16:06 +02:00
qtemporaryfile Unify behavior for long path or UNC prefix removal 2021-06-05 01:16:06 +02:00
qurl Fix QUrl::fromLocalFile with long path prefix 2021-05-19 21:38:38 +02:00
qurlinternal Remove the qmake project files 2021-01-07 15:32:28 +01:00
qurlquery Remove the qmake project files 2021-01-07 15:32:28 +01:00
CMakeLists.txt tst_qprocess: enable test again for cross-compilations 2021-02-16 07:26:19 +02:00