summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp')
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp b/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp
index d5ec9fcfaa..1220ce3b23 100644
--- a/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp
+++ b/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp
@@ -114,6 +114,7 @@ private slots:
void writeToReadFromDataStream_data();
void writeToReadFromDataStream();
+ void writeToReadFromOldDataStream();
void colorInteger();
void invalidQColor();
@@ -527,6 +528,8 @@ void tst_QGuiVariant::writeToReadFromDataStream_data()
QTest::newRow( "pointarray_valid" ) << QVariant::fromValue( QPolygon( QRect( 10, 10, 20, 20 ) ) ) << false;
QTest::newRow( "region_invalid" ) << QVariant::fromValue( QRegion() ) << true;
QTest::newRow( "region_valid" ) << QVariant::fromValue( QRegion( 10, 10, 20, 20 ) ) << false;
+ QTest::newRow("polygonf_invalid") << QVariant::fromValue(QPolygonF()) << true;
+ QTest::newRow("polygonf_valid") << QVariant::fromValue(QPolygonF(QRectF(10, 10, 20, 20))) << false;
}
void tst_QGuiVariant::invalidQColor()
@@ -611,6 +614,46 @@ void tst_QGuiVariant::writeToReadFromDataStream()
}
}
+void tst_QGuiVariant::writeToReadFromOldDataStream()
+{
+ QPolygonF polyF(QRectF(10, 10, 50, 50));
+ QVariant testVariant(polyF);
+ {
+ // Read into a variant and compare
+ QFile file(":/data/qpolygonf.bin");
+ QVERIFY(file.open(QIODevice::ReadOnly));
+ QDataStream dataFileStream(&file);
+ dataFileStream.setVersion(QDataStream::Qt_4_9);
+ QVariant readVariant;
+ dataFileStream >> readVariant;
+ QVERIFY(readVariant.type() == QMetaType::QPolygonF);
+ QCOMPARE(testVariant, readVariant);
+ file.close();
+ }
+ {
+ QByteArray variantData;
+ {
+ QDataStream varDataStream(&variantData, QIODevice::WriteOnly);
+ varDataStream << testVariant;
+ }
+ // Read into a bytearray and compare
+ QFile file(":/data/qpolygonf.bin");
+ QVERIFY(file.open(QIODevice::ReadOnly));
+ QDataStream dataFileStream(&file);
+ dataFileStream.setVersion(QDataStream::Qt_4_9);
+ int dummy;
+ dataFileStream >> dummy;
+ QByteArray polyData49;
+ dataFileStream >> polyData49;
+ file.close();
+ QByteArray polyData50;
+ QDataStream readVarData(variantData);
+ readVarData >> dummy;
+ readVarData >> polyData50;
+ QVERIFY(polyData49 == polyData50);
+ }
+}
+
void tst_QGuiVariant::debugStream_data()
{
QTest::addColumn<QVariant>("variant");