summaryrefslogtreecommitdiffstats
path: root/tests/auto/qvariant/tst_qvariant.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qvariant/tst_qvariant.cpp')
-rw-r--r--tests/auto/qvariant/tst_qvariant.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/tests/auto/qvariant/tst_qvariant.cpp b/tests/auto/qvariant/tst_qvariant.cpp
index a316dda..1a4182f 100644
--- a/tests/auto/qvariant/tst_qvariant.cpp
+++ b/tests/auto/qvariant/tst_qvariant.cpp
@@ -2518,15 +2518,23 @@ void tst_QVariant::variant_to()
QCOMPARE(qVariantFromValue(0.25f).toDouble(), 0.25);
}
+struct Blah { int i; };
+
+QDataStream& operator>>(QDataStream& s, Blah& c)
+{ return (s >> c.i); }
+
+QDataStream& operator<<(QDataStream& s, const Blah& c)
+{ return (s << c.i); }
+
void tst_QVariant::saveLoadCustomTypes()
{
QByteArray data;
- int i = 42;
- int tp = qRegisterMetaType<int>("Blah");
+ Blah i = { 42 };
+ int tp = qRegisterMetaType<Blah>("Blah");
QVariant v = QVariant(tp, &i);
- qRegisterMetaTypeStreamOperators<int>("Blah");
+ qRegisterMetaTypeStreamOperators<Blah>("Blah");
QCOMPARE(v.userType(), tp);
QVERIFY(v.type() == QVariant::UserType);