summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/io/qdatastream.cpp2
-rw-r--r--src/corelib/io/qdatastream.h2
-rw-r--r--src/corelib/kernel/qmetatype.cpp9
-rw-r--r--src/corelib/kernel/qmetatype.h27
-rw-r--r--src/corelib/kernel/qmetatype_p.h2
-rw-r--r--src/corelib/kernel/qvariant.cpp73
-rw-r--r--tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp3
-rw-r--r--tests/auto/corelib/kernel/qvariant/qvariant.pro1
-rw-r--r--tests/auto/corelib/kernel/qvariant/qvariant.qrc6
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/bool.binbin0 -> 18 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/char.binbin0 -> 18 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/double.binbin0 -> 29 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/float.binbin0 -> 27 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/int.binbin0 -> 19 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/long.binbin0 -> 25 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbitarray.binbin0 -> 31 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbitmap.binbin0 -> 27 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbrush.binbin0 -> 105 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbytearray.binbin0 -> 33 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qchar.binbin0 -> 21 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qcolor.binbin0 -> 32 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qcursor.binbin0 -> 25 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qdate.binbin0 -> 23 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qdatetime.binbin0 -> 36 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qeasingcurve.binbin0 -> 43 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qfont.binbin0 -> 73 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qicon.binbin0 -> 23 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qimage.binbin0 -> 25 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qkeysequence.binbin0 -> 41 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qline.binbin0 -> 35 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qlinef.binbin0 -> 53 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qlocale.binbin0 -> 37 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qlonglong.binbin0 -> 35 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qmatrix.binbin0 -> 71 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qmatrix4x4.binbin0 -> 157 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpalette.binbin0 -> 5065 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpen.binbin0 -> 132 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpixmap.binbin0 -> 27 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpoint.binbin0 -> 29 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpointf.binbin0 -> 39 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpolygon.binbin0 -> 29 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qquaternion.binbin0 -> 63 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qrect.binbin0 -> 35 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qrectf.binbin0 -> 53 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qregexp.binbin0 -> 30 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qregion.binbin0 -> 27 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qsize.binbin0 -> 27 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qsizef.binbin0 -> 37 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qsizepolicy.binbin0 -> 35 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qstring.binbin0 -> 27 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qstringlist.binbin0 -> 35 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtextformat.binbin0 -> 39 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtextlength.binbin0 -> 43 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtime.binbin0 -> 23 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtransform.binbin0 -> 101 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qulonglong.binbin0 -> 37 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qurl.binbin0 -> 21 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvariant.binbin0 -> 34 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvarianthash.binbin0 -> 37 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvariantlist.binbin0 -> 37 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvariantmap.binbin0 -> 35 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector2d.binbin0 -> 43 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector3d.binbin0 -> 51 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector4d.binbin0 -> 59 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/short.binbin0 -> 21 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/uchar.binbin0 -> 20 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/uint.binbin0 -> 21 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/ulong.binbin0 -> 27 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/ushort.binbin0 -> 23 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt4.9/void.binbin0 -> 21 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/bool.binbin0 -> 18 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/char.binbin0 -> 18 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/double.binbin0 -> 29 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/float.binbin0 -> 27 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/int.binbin0 -> 19 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/long.binbin0 -> 25 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbitarray.binbin0 -> 31 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbitmap.binbin0 -> 27 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbrush.binbin0 -> 105 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbytearray.binbin0 -> 33 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qchar.binbin0 -> 21 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qcolor.binbin0 -> 32 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qcursor.binbin0 -> 25 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qdate.binbin0 -> 23 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qdatetime.binbin0 -> 36 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qeasingcurve.binbin0 -> 43 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qfont.binbin0 -> 89 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qicon.binbin0 -> 23 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qimage.binbin0 -> 25 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qkeysequence.binbin0 -> 41 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qline.binbin0 -> 35 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qlinef.binbin0 -> 53 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qlocale.binbin0 -> 37 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qlonglong.binbin0 -> 35 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qmatrix.binbin0 -> 71 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qmatrix4x4.binbin0 -> 157 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpalette.binbin0 -> 5065 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpen.binbin0 -> 132 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpixmap.binbin0 -> 27 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpoint.binbin0 -> 29 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpointf.binbin0 -> 39 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpolygon.binbin0 -> 29 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpolygonf.binbin0 -> 31 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qquaternion.binbin0 -> 63 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qrect.binbin0 -> 35 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qrectf.binbin0 -> 53 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qregexp.binbin0 -> 30 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qregion.binbin0 -> 27 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qsize.binbin0 -> 27 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qsizef.binbin0 -> 37 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qsizepolicy.binbin0 -> 35 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qstring.binbin0 -> 27 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qstringlist.binbin0 -> 35 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtextformat.binbin0 -> 39 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtextlength.binbin0 -> 43 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtime.binbin0 -> 23 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtransform.binbin0 -> 101 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qulonglong.binbin0 -> 37 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qurl.binbin0 -> 21 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/quuid.binbin0 -> 35 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvariant.binbin0 -> 34 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvarianthash.binbin0 -> 37 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvariantlist.binbin0 -> 37 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvariantmap.binbin0 -> 35 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector2d.binbin0 -> 43 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector3d.binbin0 -> 51 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector4d.binbin0 -> 59 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/short.binbin0 -> 21 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/uchar.binbin0 -> 20 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/uint.binbin0 -> 21 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/ulong.binbin0 -> 27 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/ushort.binbin0 -> 23 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/stream/qt5.0/void.binbin0 -> 21 bytes
-rw-r--r--tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp138
-rw-r--r--tests/benchmarks/corelib/kernel/qmetatype/tst_qmetatype.cpp2
-rw-r--r--tests/benchmarks/corelib/kernel/qvariant/tst_qvariant.cpp2
136 files changed, 212 insertions, 55 deletions
diff --git a/src/corelib/io/qdatastream.cpp b/src/corelib/io/qdatastream.cpp
index 5dad9bd9f9..614910a9d6 100644
--- a/src/corelib/io/qdatastream.cpp
+++ b/src/corelib/io/qdatastream.cpp
@@ -250,7 +250,7 @@ QT_BEGIN_NAMESPACE
return retVal;
enum {
- DefaultStreamVersion = QDataStream::Qt_4_6
+ DefaultStreamVersion = QDataStream::Qt_5_0
};
// ### 5.0: when streaming invalid QVariants, just the type should
diff --git a/src/corelib/io/qdatastream.h b/src/corelib/io/qdatastream.h
index ca10304b30..818e3044d1 100644
--- a/src/corelib/io/qdatastream.h
+++ b/src/corelib/io/qdatastream.h
@@ -87,7 +87,7 @@ public:
Qt_4_7 = Qt_4_6,
Qt_4_8 = Qt_4_7,
Qt_4_9 = Qt_4_8,
- Qt_5_0 = Qt_4_8
+ Qt_5_0 = 13
#if QT_VERSION >= 0x050100
#error Add the datastream version for this Qt version
#endif
diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp
index 1c106f4f36..e5fd8a5d24 100644
--- a/src/corelib/kernel/qmetatype.cpp
+++ b/src/corelib/kernel/qmetatype.cpp
@@ -228,14 +228,13 @@ template<> struct TypeDefiniton<QRegExp> { static const bool IsAvailable = false
\value User Base value for user types
- \omitvalue FirstCoreExtType
\omitvalue FirstGuiType
\omitvalue FirstWidgetsType
- \omitvalue LastCoreExtType
\omitvalue LastCoreType
\omitvalue LastGuiType
\omitvalue LastWidgetsType
\omitvalue QReal
+ \omitvalue HighestInternalId
Additional types can be registered using Q_DECLARE_METATYPE().
@@ -362,10 +361,10 @@ const char *QMetaType::typeName(int type)
// In theory it can be filled during compilation time, but for some reason template code
// that is able to do it causes GCC 4.6 to generate additional 3K of executable code. Probably
// it is not worth of it.
- static const char *namesCache[QMetaType::LastCoreExtType + 1];
+ static const char *namesCache[QMetaType::HighestInternalId + 1];
const char *result;
- if (type <= QMetaType::LastCoreExtType && ((result = namesCache[type])))
+ if (type <= QMetaType::HighestInternalId && ((result = namesCache[type])))
return result;
#define QT_METATYPE_TYPEID_TYPENAME_CONVERTER(MetaTypeName, TypeId, RealName) \
@@ -388,7 +387,7 @@ const char *QMetaType::typeName(int type)
}
#undef QT_METATYPE_TYPEID_TYPENAME_CONVERTER
- Q_ASSERT(type <= QMetaType::LastCoreExtType);
+ Q_ASSERT(type <= QMetaType::HighestInternalId);
namesCache[type] = result;
return result;
}
diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h
index 5a55ca9bd7..bbe482428f 100644
--- a/src/corelib/kernel/qmetatype.h
+++ b/src/corelib/kernel/qmetatype.h
@@ -65,16 +65,16 @@ QT_BEGIN_NAMESPACE
F(LongLong, 4, qlonglong) \
F(ULongLong, 5, qulonglong) \
F(Double, 6, double) \
- F(Long, 129, long) \
- F(Short, 130, short) \
- F(Char, 131, char) \
- F(ULong, 132, ulong) \
- F(UShort, 133, ushort) \
- F(UChar, 134, uchar) \
- F(Float, 135, float) \
+ F(Long, 32, long) \
+ F(Short, 33, short) \
+ F(Char, 34, char) \
+ F(ULong, 35, ulong) \
+ F(UShort, 36, ushort) \
+ F(UChar, 37, uchar) \
+ F(Float, 38, float) \
#define QT_FOR_EACH_STATIC_PRIMITIVE_POINTER(F)\
- F(VoidStar, 128, void*) \
+ F(VoidStar, 31, void*) \
#define QT_FOR_EACH_STATIC_CORE_CLASS(F)\
F(QChar, 7, QChar) \
@@ -98,12 +98,12 @@ QT_BEGIN_NAMESPACE
F(QRegExp, 27, QRegExp) \
F(QEasingCurve, 29, QEasingCurve) \
F(QUuid, 30, QUuid) \
- F(QModelIndex, 31, QModelIndex) \
- F(QVariant, 138, QVariant) \
+ F(QVariant, 41, QVariant) \
+ F(QModelIndex, 42, QModelIndex) \
#define QT_FOR_EACH_STATIC_CORE_POINTER(F)\
- F(QObjectStar, 136, QObject*) \
- F(QWidgetStar, 137, QWidget*) \
+ F(QObjectStar, 39, QObject*) \
+ F(QWidgetStar, 40, QWidget*) \
#define QT_FOR_EACH_STATIC_CORE_TEMPLATE(F)\
F(QVariantMap, 8, QVariantMap) \
@@ -188,8 +188,7 @@ public:
LastGuiType = QPolygonF,
FirstWidgetsType = QIcon,
LastWidgetsType = QSizePolicy,
- FirstCoreExtType = VoidStar,
- LastCoreExtType = QVariant,
+ HighestInternalId = LastWidgetsType,
// This logic must match the one in qglobal.h
#if defined(QT_COORD_TYPE)
diff --git a/src/corelib/kernel/qmetatype_p.h b/src/corelib/kernel/qmetatype_p.h
index e7a7ed8019..45768bb3b9 100644
--- a/src/corelib/kernel/qmetatype_p.h
+++ b/src/corelib/kernel/qmetatype_p.h
@@ -68,8 +68,6 @@ static inline int moduleForType(const int typeId)
return Gui;
if (typeId <= QMetaType::LastWidgetsType)
return Widgets;
- if (typeId <= QMetaType::LastCoreExtType)
- return Core;
return Unknown;
}
}
diff --git a/src/corelib/kernel/qvariant.cpp b/src/corelib/kernel/qvariant.cpp
index e0d1114622..c14e6ffd17 100644
--- a/src/corelib/kernel/qvariant.cpp
+++ b/src/corelib/kernel/qvariant.cpp
@@ -1625,7 +1625,7 @@ QVariant::Type QVariant::nameToType(const char *name)
#ifndef QT_NO_DATASTREAM
enum { MapFromThreeCount = 36 };
-static const ushort map_from_three[MapFromThreeCount] =
+static const ushort mapIdFromQt3ToCurrent[MapFromThreeCount] =
{
QVariant::Invalid,
QVariant::Map,
@@ -1675,26 +1675,45 @@ void QVariant::load(QDataStream &s)
{
clear();
- quint32 u;
- s >> u;
+ quint32 typeId;
+ s >> typeId;
if (s.version() < QDataStream::Qt_4_0) {
- if (u >= MapFromThreeCount)
+ if (typeId >= MapFromThreeCount)
return;
- u = map_from_three[u];
+ typeId = mapIdFromQt3ToCurrent[typeId];
+ } else if (s.version() < QDataStream::Qt_5_0) {
+ if (typeId >= 128 && typeId != QVariant::UserType) {
+ // In Qt4 id == 128 was FirstExtCoreType. In Qt5 ExtCoreTypes set was merged to CoreTypes
+ // by moving all ids down by 97.
+ typeId -= 97;
+ } else if (typeId == 69 /* QIcon */) {
+ // In Qt5 after modularization project this types where moved to a separate module (and ids were downgraded)
+ typeId = QMetaType::QIcon;
+ } else if (typeId == 75 /* QSizePolicy */) {
+ typeId = QMetaType::QSizePolicy;
+ } else if (typeId >= 70) {
+ // and as a result this types recieved lower ids too
+ if (typeId <= 74) { // QImage QPolygon QRegion QBitmap QCursor
+ typeId -=1;
+ } else if (typeId <= 86) { // QKeySequence QPen QTextLength QTextFormat QMatrix QTransform QMatrix4x4 QVector2D QVector3D QVector4D QQuaternion
+ typeId -=2;
+ }
+ }
}
+
qint8 is_null = false;
if (s.version() >= QDataStream::Qt_4_2)
s >> is_null;
- if (u == QVariant::UserType) {
+ if (typeId == QVariant::UserType) {
QByteArray name;
s >> name;
- u = QMetaType::type(name);
- if (!u) {
+ typeId = QMetaType::type(name);
+ if (!typeId) {
s.setStatus(QDataStream::ReadCorruptData);
return;
}
}
- create(static_cast<int>(u), 0);
+ create(static_cast<int>(typeId), 0);
d.is_null = is_null;
if (!isValid()) {
@@ -1720,12 +1739,12 @@ void QVariant::load(QDataStream &s)
*/
void QVariant::save(QDataStream &s) const
{
- quint32 tp = type();
+ quint32 typeId = type();
if (s.version() < QDataStream::Qt_4_0) {
int i;
for (i = MapFromThreeCount - 1; i >= 0; i--) {
- if (map_from_three[i] == tp) {
- tp = i;
+ if (mapIdFromQt3ToCurrent[i] == typeId) {
+ typeId = i;
break;
}
}
@@ -1733,11 +1752,29 @@ void QVariant::save(QDataStream &s) const
s << QVariant();
return;
}
+ } else if (s.version() < QDataStream::Qt_5_0) {
+ if (typeId >= 128 - 97 && typeId <= LastCoreType) {
+ // In Qt4 id == 128 was FirstExtCoreType. In Qt5 ExtCoreTypes set was merged to CoreTypes
+ // by moving all ids down by 97.
+ typeId += 97;
+ } else if (typeId == QMetaType::QIcon) {
+ // In Qt5 after modularization project this types where moved to a separate module (and ids were downgraded)
+ typeId = 69;
+ } else if (typeId == QMetaType::QSizePolicy) {
+ typeId = 75;
+ } else if (typeId >= QMetaType::QImage) {
+ // and as a result this types recieved lower ids too
+ if (typeId <= QMetaType::QCursor) {
+ typeId +=1;
+ } else if (typeId <= QMetaType::QQuaternion) {
+ typeId +=2;
+ }
+ }
}
- s << tp;
+ s << typeId;
if (s.version() >= QDataStream::Qt_4_2)
s << qint8(d.is_null);
- if (tp == QVariant::UserType) {
+ if (typeId == QVariant::UserType) {
s << QMetaType::typeName(userType());
}
@@ -2411,17 +2448,15 @@ static const quint32 qCanConvertMatrix[QVariant::LastCoreType + 1] =
*/
bool QVariant::canConvert(Type t) const
{
- //we can treat floats as double
- //the reason for not doing it the "proper" way is that QMetaType::Float's value is 135,
- //which can't be handled by qCanConvertMatrix
- //In addition QVariant::Type doesn't have a Float value, so we're using QMetaType::Float
+ // TODO Reimplement this function, currently it works but it is a historical mess.
const uint currentType = ((d.type == QMetaType::Float) ? QVariant::Double : d.type);
if (uint(t) == uint(QMetaType::Float)) t = QVariant::Double;
if (currentType == uint(t))
return true;
- if (currentType > QVariant::LastCoreType || t > QVariant::LastCoreType) {
+ // FIXME It should be LastCoreType intead of Uuid
+ if (currentType > QVariant::Uuid || t > QVariant::Uuid) {
switch (uint(t)) {
case QVariant::Int:
return currentType == QVariant::KeySequence
diff --git a/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp b/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp
index 4f39af93ed..6aff143558 100644
--- a/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp
+++ b/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp
@@ -255,7 +255,8 @@ static int NColorRoles[] = {
QPalette::ToolTipText + 1, // Qt_4_4
QPalette::ToolTipText + 1, // Qt_4_5
QPalette::ToolTipText + 1, // Qt_4_6
- 0 // add the correct value for Qt_4_7 here later
+ QPalette::ToolTipText + 1, // Qt_5_0
+ 0 // add the correct value for Qt_5_1 here later
};
// Testing get/set functions
diff --git a/tests/auto/corelib/kernel/qvariant/qvariant.pro b/tests/auto/corelib/kernel/qvariant/qvariant.pro
index 93877a1059..48229ee140 100644
--- a/tests/auto/corelib/kernel/qvariant/qvariant.pro
+++ b/tests/auto/corelib/kernel/qvariant/qvariant.pro
@@ -2,5 +2,6 @@ CONFIG += testcase
TARGET = tst_qvariant
QT += widgets network testlib
SOURCES = tst_qvariant.cpp
+RESOURCES += qvariant.qrc
mac: CONFIG += insignificant_test # QTBUG-QTBUG-22747
diff --git a/tests/auto/corelib/kernel/qvariant/qvariant.qrc b/tests/auto/corelib/kernel/qvariant/qvariant.qrc
new file mode 100644
index 0000000000..e6f7bdac80
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/qvariant.qrc
@@ -0,0 +1,6 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+ <file>stream/qt4.9/</file>
+ <file>stream/qt5.0/</file>
+</qresource>
+</RCC>
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/bool.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/bool.bin
new file mode 100644
index 0000000000..7929cb4129
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/bool.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/char.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/char.bin
new file mode 100644
index 0000000000..3c15cb7850
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/char.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/double.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/double.bin
new file mode 100644
index 0000000000..ac9ed179f2
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/double.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/float.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/float.bin
new file mode 100644
index 0000000000..540c010dc9
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/float.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/int.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/int.bin
new file mode 100644
index 0000000000..6b47a9aeb4
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/int.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/long.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/long.bin
new file mode 100644
index 0000000000..66891d5ed8
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/long.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbitarray.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbitarray.bin
new file mode 100644
index 0000000000..e534174651
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbitarray.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbitmap.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbitmap.bin
new file mode 100644
index 0000000000..13f4dc374d
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbitmap.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbrush.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbrush.bin
new file mode 100644
index 0000000000..60ea8a2b08
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbrush.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbytearray.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbytearray.bin
new file mode 100644
index 0000000000..19897811d0
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbytearray.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qchar.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qchar.bin
new file mode 100644
index 0000000000..f4ef9df794
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qchar.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qcolor.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qcolor.bin
new file mode 100644
index 0000000000..ba1c332e14
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qcolor.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qcursor.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qcursor.bin
new file mode 100644
index 0000000000..545fa96a1f
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qcursor.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qdate.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qdate.bin
new file mode 100644
index 0000000000..d3281b1336
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qdate.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qdatetime.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qdatetime.bin
new file mode 100644
index 0000000000..664eb736a7
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qdatetime.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qeasingcurve.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qeasingcurve.bin
new file mode 100644
index 0000000000..b9b9ea633b
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qeasingcurve.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qfont.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qfont.bin
new file mode 100644
index 0000000000..76bc5d932f
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qfont.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qicon.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qicon.bin
new file mode 100644
index 0000000000..2f8713244c
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qicon.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qimage.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qimage.bin
new file mode 100644
index 0000000000..0ab1cbf6fa
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qimage.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qkeysequence.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qkeysequence.bin
new file mode 100644
index 0000000000..03db168e93
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qkeysequence.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qline.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qline.bin
new file mode 100644
index 0000000000..f1f5cde63c
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qline.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qlinef.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qlinef.bin
new file mode 100644
index 0000000000..4b1c2f05fb
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qlinef.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qlocale.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qlocale.bin
new file mode 100644
index 0000000000..44d9d1c993
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qlocale.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qlonglong.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qlonglong.bin
new file mode 100644
index 0000000000..f1c297a91d
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qlonglong.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qmatrix.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qmatrix.bin
new file mode 100644
index 0000000000..fc88e2564a
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qmatrix.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qmatrix4x4.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qmatrix4x4.bin
new file mode 100644
index 0000000000..3a8b664a69
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qmatrix4x4.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpalette.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpalette.bin
new file mode 100644
index 0000000000..1ad94631bd
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpalette.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpen.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpen.bin
new file mode 100644
index 0000000000..1eff5c83ad
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpen.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpixmap.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpixmap.bin
new file mode 100644
index 0000000000..ce9cb8c434
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpixmap.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpoint.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpoint.bin
new file mode 100644
index 0000000000..ca66b1ec4c
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpoint.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpointf.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpointf.bin
new file mode 100644
index 0000000000..7aebb46299
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpointf.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpolygon.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpolygon.bin
new file mode 100644
index 0000000000..fbdab8fffc
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpolygon.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qquaternion.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qquaternion.bin
new file mode 100644
index 0000000000..01ee6dcdbc
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qquaternion.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qrect.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qrect.bin
new file mode 100644
index 0000000000..70730db7e1
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qrect.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qrectf.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qrectf.bin
new file mode 100644
index 0000000000..2f8dac670b
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qrectf.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qregexp.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qregexp.bin
new file mode 100644
index 0000000000..db8518e064
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qregexp.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qregion.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qregion.bin
new file mode 100644
index 0000000000..27eec8c4d5
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qregion.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qsize.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qsize.bin
new file mode 100644
index 0000000000..fec8c62c16
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qsize.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qsizef.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qsizef.bin
new file mode 100644
index 0000000000..210976a005
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qsizef.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qsizepolicy.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qsizepolicy.bin
new file mode 100644
index 0000000000..00f1b2906e
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qsizepolicy.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qstring.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qstring.bin
new file mode 100644
index 0000000000..f44d7cbbc0
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qstring.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qstringlist.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qstringlist.bin
new file mode 100644
index 0000000000..34e6f73ab5
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qstringlist.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtextformat.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtextformat.bin
new file mode 100644
index 0000000000..91382db9c4
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtextformat.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtextlength.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtextlength.bin
new file mode 100644
index 0000000000..945dfc0ba9
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtextlength.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtime.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtime.bin
new file mode 100644
index 0000000000..31f63fd1fb
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtime.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtransform.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtransform.bin
new file mode 100644
index 0000000000..53c4db55f2
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtransform.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qulonglong.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qulonglong.bin
new file mode 100644
index 0000000000..e321e7d77d
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qulonglong.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qurl.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qurl.bin
new file mode 100644
index 0000000000..4e444b7cc0
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qurl.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvariant.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvariant.bin
new file mode 100644
index 0000000000..7d5c5303b8
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvariant.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvarianthash.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvarianthash.bin
new file mode 100644
index 0000000000..e2ffb002af
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvarianthash.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvariantlist.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvariantlist.bin
new file mode 100644
index 0000000000..cf95d44875
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvariantlist.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvariantmap.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvariantmap.bin
new file mode 100644
index 0000000000..6b0b1fb27d
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvariantmap.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector2d.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector2d.bin
new file mode 100644
index 0000000000..a219ab66dd
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector2d.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector3d.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector3d.bin
new file mode 100644
index 0000000000..4444fb6236
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector3d.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector4d.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector4d.bin
new file mode 100644
index 0000000000..46bcc26f13
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector4d.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/short.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/short.bin
new file mode 100644
index 0000000000..124776f9d7
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/short.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/uchar.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/uchar.bin
new file mode 100644
index 0000000000..1dea2c16c0
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/uchar.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/uint.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/uint.bin
new file mode 100644
index 0000000000..086e080224
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/uint.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/ulong.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/ulong.bin
new file mode 100644
index 0000000000..92dfdaad6c
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/ulong.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/ushort.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/ushort.bin
new file mode 100644
index 0000000000..d386a76f1a
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/ushort.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/void.bin b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/void.bin
new file mode 100644
index 0000000000..7337dc7cfb
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt4.9/void.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/bool.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/bool.bin
new file mode 100644
index 0000000000..7929cb4129
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/bool.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/char.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/char.bin
new file mode 100644
index 0000000000..4422f29a62
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/char.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/double.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/double.bin
new file mode 100644
index 0000000000..ac9ed179f2
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/double.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/float.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/float.bin
new file mode 100644
index 0000000000..fc7cca7d07
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/float.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/int.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/int.bin
new file mode 100644
index 0000000000..6b47a9aeb4
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/int.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/long.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/long.bin
new file mode 100644
index 0000000000..5a1ed0d740
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/long.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbitarray.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbitarray.bin
new file mode 100644
index 0000000000..e534174651
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbitarray.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbitmap.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbitmap.bin
new file mode 100644
index 0000000000..511e260744
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbitmap.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbrush.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbrush.bin
new file mode 100644
index 0000000000..60ea8a2b08
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbrush.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbytearray.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbytearray.bin
new file mode 100644
index 0000000000..19897811d0
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbytearray.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qchar.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qchar.bin
new file mode 100644
index 0000000000..f4ef9df794
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qchar.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qcolor.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qcolor.bin
new file mode 100644
index 0000000000..ba1c332e14
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qcolor.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qcursor.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qcursor.bin
new file mode 100644
index 0000000000..a7be10e143
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qcursor.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qdate.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qdate.bin
new file mode 100644
index 0000000000..d3281b1336
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qdate.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qdatetime.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qdatetime.bin
new file mode 100644
index 0000000000..664eb736a7
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qdatetime.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qeasingcurve.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qeasingcurve.bin
new file mode 100644
index 0000000000..5cf664eb27
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qeasingcurve.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qfont.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qfont.bin
new file mode 100644
index 0000000000..e8aa03af9b
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qfont.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qicon.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qicon.bin
new file mode 100644
index 0000000000..bf3ca9ed4b
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qicon.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qimage.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qimage.bin
new file mode 100644
index 0000000000..03665c1edc
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qimage.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qkeysequence.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qkeysequence.bin
new file mode 100644
index 0000000000..7f7447a821
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qkeysequence.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qline.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qline.bin
new file mode 100644
index 0000000000..f1f5cde63c
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qline.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qlinef.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qlinef.bin
new file mode 100644
index 0000000000..4b1c2f05fb
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qlinef.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qlocale.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qlocale.bin
new file mode 100644
index 0000000000..44d9d1c993
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qlocale.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qlonglong.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qlonglong.bin
new file mode 100644
index 0000000000..f1c297a91d
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qlonglong.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qmatrix.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qmatrix.bin
new file mode 100644
index 0000000000..93434b42c9
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qmatrix.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qmatrix4x4.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qmatrix4x4.bin
new file mode 100644
index 0000000000..8d3f9b81e8
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qmatrix4x4.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpalette.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpalette.bin
new file mode 100644
index 0000000000..503c1a4664
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpalette.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpen.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpen.bin
new file mode 100644
index 0000000000..edafc2d185
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpen.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpixmap.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpixmap.bin
new file mode 100644
index 0000000000..ce9cb8c434
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpixmap.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpoint.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpoint.bin
new file mode 100644
index 0000000000..ca66b1ec4c
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpoint.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpointf.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpointf.bin
new file mode 100644
index 0000000000..7aebb46299
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpointf.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpolygon.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpolygon.bin
new file mode 100644
index 0000000000..8d3275df41
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpolygon.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpolygonf.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpolygonf.bin
new file mode 100644
index 0000000000..3e85997f2d
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpolygonf.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qquaternion.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qquaternion.bin
new file mode 100644
index 0000000000..c498f8fd08
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qquaternion.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qrect.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qrect.bin
new file mode 100644
index 0000000000..70730db7e1
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qrect.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qrectf.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qrectf.bin
new file mode 100644
index 0000000000..2f8dac670b
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qrectf.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qregexp.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qregexp.bin
new file mode 100644
index 0000000000..db8518e064
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qregexp.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qregion.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qregion.bin
new file mode 100644
index 0000000000..ecf01a8b31
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qregion.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qsize.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qsize.bin
new file mode 100644
index 0000000000..fec8c62c16
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qsize.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qsizef.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qsizef.bin
new file mode 100644
index 0000000000..210976a005
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qsizef.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qsizepolicy.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qsizepolicy.bin
new file mode 100644
index 0000000000..cfdf49b4c2
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qsizepolicy.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qstring.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qstring.bin
new file mode 100644
index 0000000000..f44d7cbbc0
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qstring.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qstringlist.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qstringlist.bin
new file mode 100644
index 0000000000..34e6f73ab5
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qstringlist.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtextformat.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtextformat.bin
new file mode 100644
index 0000000000..432068d921
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtextformat.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtextlength.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtextlength.bin
new file mode 100644
index 0000000000..3b209f1be2
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtextlength.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtime.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtime.bin
new file mode 100644
index 0000000000..31f63fd1fb
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtime.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtransform.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtransform.bin
new file mode 100644
index 0000000000..52cddb5e93
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtransform.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qulonglong.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qulonglong.bin
new file mode 100644
index 0000000000..e321e7d77d
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qulonglong.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qurl.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qurl.bin
new file mode 100644
index 0000000000..4e444b7cc0
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qurl.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/quuid.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/quuid.bin
new file mode 100644
index 0000000000..a8d57c6acd
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/quuid.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvariant.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvariant.bin
new file mode 100644
index 0000000000..1c8bc45769
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvariant.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvarianthash.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvarianthash.bin
new file mode 100644
index 0000000000..e2ffb002af
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvarianthash.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvariantlist.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvariantlist.bin
new file mode 100644
index 0000000000..cf95d44875
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvariantlist.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvariantmap.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvariantmap.bin
new file mode 100644
index 0000000000..6b0b1fb27d
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvariantmap.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector2d.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector2d.bin
new file mode 100644
index 0000000000..2bc3aeb18d
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector2d.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector3d.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector3d.bin
new file mode 100644
index 0000000000..b035f7f074
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector3d.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector4d.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector4d.bin
new file mode 100644
index 0000000000..a804c5e655
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector4d.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/short.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/short.bin
new file mode 100644
index 0000000000..e7ae61f176
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/short.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/uchar.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/uchar.bin
new file mode 100644
index 0000000000..426f97426f
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/uchar.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/uint.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/uint.bin
new file mode 100644
index 0000000000..086e080224
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/uint.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/ulong.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/ulong.bin
new file mode 100644
index 0000000000..399a9ea220
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/ulong.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/ushort.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/ushort.bin
new file mode 100644
index 0000000000..25cb14e173
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/ushort.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/void.bin b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/void.bin
new file mode 100644
index 0000000000..7337dc7cfb
--- /dev/null
+++ b/tests/auto/corelib/kernel/qvariant/stream/qt5.0/void.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
index f40b1eae0b..f88e795167 100644
--- a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
+++ b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
@@ -262,6 +262,19 @@ private slots:
void forwardDeclare();
void debugStream_data();
void debugStream();
+
+ void loadQt4Stream_data();
+ void loadQt4Stream();
+ void saveQt4Stream_data();
+ void saveQt4Stream();
+ void loadQt5Stream_data();
+ void loadQt5Stream();
+ void saveQt5Stream_data();
+ void saveQt5Stream();
+private:
+ void dataStream_data(QDataStream::Version version);
+ void loadQVariantFromDataStream(QDataStream::Version version);
+ void saveQVariantFromDataStream(QDataStream::Version version);
};
Q_DECLARE_METATYPE(QDate)
@@ -2003,13 +2016,6 @@ Q_DECLARE_METATYPE(MyType*)
void tst_QVariant::userType()
{
{
- QVariant userVariant(QVariant::UserType);
-
- QVERIFY(userVariant.isValid());
- QVERIFY(userVariant.isNull());
- }
-
- {
MyType data(1, "eins");
MyType data2(2, "zwei");
@@ -3338,6 +3344,123 @@ void tst_QVariant::forwardDeclare()
QCOMPARE(qvariant_cast<Forward*>(v), f);
}
+void tst_QVariant::loadQt5Stream_data()
+{
+ dataStream_data(QDataStream::Qt_5_0);
+}
+
+void tst_QVariant::loadQt5Stream()
+{
+ loadQVariantFromDataStream(QDataStream::Qt_5_0);
+}
+
+void tst_QVariant::saveQt5Stream_data()
+{
+ dataStream_data(QDataStream::Qt_5_0);
+}
+
+void tst_QVariant::saveQt5Stream()
+{
+ saveQVariantFromDataStream(QDataStream::Qt_5_0);
+}
+
+void tst_QVariant::loadQt4Stream_data()
+{
+ dataStream_data(QDataStream::Qt_4_9);
+}
+
+void tst_QVariant::loadQt4Stream()
+{
+ loadQVariantFromDataStream(QDataStream::Qt_4_9);
+}
+
+void tst_QVariant::saveQt4Stream_data()
+{
+ dataStream_data(QDataStream::Qt_4_9);
+}
+
+void tst_QVariant::saveQt4Stream()
+{
+ saveQVariantFromDataStream(QDataStream::Qt_4_9);
+}
+
+void tst_QVariant::dataStream_data(QDataStream::Version version)
+{
+ QTest::addColumn<QString>("fileName");
+
+ QString path;
+ switch (version) {
+ case QDataStream::Qt_4_9:
+ path = QString::fromLatin1("qt4.9");
+ break;
+ case QDataStream::Qt_5_0:
+ path = QString::fromLatin1("qt5.0");
+ break;
+ default:
+ Q_UNIMPLEMENTED();
+ }
+
+ path = path.prepend(":/stream/").append("/");
+ QDir dir(path);
+ uint i = 0;
+ foreach (const QFileInfo &fileInfo, dir.entryInfoList(QStringList() << "*.bin")) {
+ QTest::newRow((path + fileInfo.fileName()).toLatin1()) << fileInfo.filePath();
+ i += 1;
+ }
+ QVERIFY(i > 10);
+}
+
+void tst_QVariant::loadQVariantFromDataStream(QDataStream::Version version)
+{
+ QFETCH(QString, fileName);
+
+ QFile file(fileName);
+ QVERIFY(file.open(QIODevice::ReadOnly));
+
+ QDataStream stream(&file);
+ stream.setVersion(version);
+
+ QString typeName;
+ QVariant loadedVariant;
+ stream >> typeName >> loadedVariant;
+
+ const int id = QMetaType::type(typeName.toLatin1());
+ QVariant constructedVariant(static_cast<QVariant::Type>(id));
+ QCOMPARE(constructedVariant.userType(), id);
+ QCOMPARE(QMetaType::typeName(loadedVariant.userType()), typeName.toLatin1().constData());
+ QCOMPARE(loadedVariant.userType(), constructedVariant.userType());
+}
+
+void tst_QVariant::saveQVariantFromDataStream(QDataStream::Version version)
+{
+ QFETCH(QString, fileName);
+
+ QFile file(fileName);
+ QVERIFY(file.open(QIODevice::ReadOnly));
+ QDataStream dataFileStream(&file);
+
+ QString typeName;
+ dataFileStream >> typeName;
+ QByteArray data = file.readAll();
+ const int id = QMetaType::type(typeName.toLatin1());
+
+ QBuffer buffer;
+ buffer.open(QIODevice::ReadWrite);
+ QDataStream stream(&buffer);
+ stream.setVersion(version);
+
+ QVariant constructedVariant(static_cast<QVariant::Type>(id));
+ QCOMPARE(constructedVariant.userType(), id);
+ stream << constructedVariant;
+
+ // We are testing QVariant there is no point in testing full array.
+ QCOMPARE(buffer.data().left(5), data.left(5));
+
+ buffer.seek(0);
+ QVariant recunstructedVariant;
+ stream >> recunstructedVariant;
+ QCOMPARE(recunstructedVariant.userType(), constructedVariant.userType());
+}
class MessageHandler {
public:
@@ -3397,6 +3520,5 @@ void tst_QVariant::debugStream()
QVERIFY(msgHandler.testPassed());
}
-
QTEST_MAIN(tst_QVariant)
#include "tst_qvariant.moc"
diff --git a/tests/benchmarks/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/benchmarks/corelib/kernel/qmetatype/tst_qmetatype.cpp
index 2faacc2372..558604ea61 100644
--- a/tests/benchmarks/corelib/kernel/qmetatype/tst_qmetatype.cpp
+++ b/tests/benchmarks/corelib/kernel/qmetatype/tst_qmetatype.cpp
@@ -242,8 +242,6 @@ void tst_QMetaType::constructCoreType_data()
QTest::addColumn<int>("typeId");
for (int i = 0; i <= QMetaType::LastCoreType; ++i)
QTest::newRow(QMetaType::typeName(i)) << i;
- for (int i = QMetaType::FirstCoreExtType; i <= QMetaType::LastCoreExtType; ++i)
- QTest::newRow(QMetaType::typeName(i)) << i;
// GUI types are tested in tst_QGuiMetaType.
}
diff --git a/tests/benchmarks/corelib/kernel/qvariant/tst_qvariant.cpp b/tests/benchmarks/corelib/kernel/qvariant/tst_qvariant.cpp
index 8f0a331c80..52999c170c 100644
--- a/tests/benchmarks/corelib/kernel/qvariant/tst_qvariant.cpp
+++ b/tests/benchmarks/corelib/kernel/qvariant/tst_qvariant.cpp
@@ -307,8 +307,6 @@ void tst_qvariant::createCoreType_data()
QTest::addColumn<int>("typeId");
for (int i = 0; i <= QMetaType::LastCoreType; ++i)
QTest::newRow(QMetaType::typeName(i)) << i;
- for (int i = QMetaType::FirstCoreExtType; i <= QMetaType::LastCoreExtType; ++i)
- QTest::newRow(QMetaType::typeName(i)) << i;
}
// Tests how fast a Qt core type can be default-constructed by a