tests/auto/qvariant/tst_qvariant.cpp
changeset 30 5dc02b23752f
parent 19 fcece45ef507
equal deleted inserted replaced
29:b72c6db6890b 30:5dc02b23752f
  2520     QCOMPARE(qvariant_cast<float>(n), 44.0f);
  2520     QCOMPARE(qvariant_cast<float>(n), 44.0f);
  2521 
  2521 
  2522     QCOMPARE(qVariantFromValue(0.25f).toDouble(), 0.25);
  2522     QCOMPARE(qVariantFromValue(0.25f).toDouble(), 0.25);
  2523 }
  2523 }
  2524 
  2524 
       
  2525 struct Blah { int i; };
       
  2526 
       
  2527 QDataStream& operator>>(QDataStream& s, Blah& c)
       
  2528 { return (s >> c.i); }
       
  2529 
       
  2530 QDataStream& operator<<(QDataStream& s, const Blah& c)
       
  2531 { return (s << c.i); }
       
  2532 
  2525 void tst_QVariant::saveLoadCustomTypes()
  2533 void tst_QVariant::saveLoadCustomTypes()
  2526 {
  2534 {
  2527     QByteArray data;
  2535     QByteArray data;
  2528 
  2536 
  2529     int i = 42;
  2537     Blah i = { 42 };
  2530     int tp = qRegisterMetaType<int>("Blah");
  2538     int tp = qRegisterMetaType<Blah>("Blah");
  2531     QVariant v = QVariant(tp, &i);
  2539     QVariant v = QVariant(tp, &i);
  2532 
  2540 
  2533     qRegisterMetaTypeStreamOperators<int>("Blah");
  2541     qRegisterMetaTypeStreamOperators<Blah>("Blah");
  2534 
  2542 
  2535     QCOMPARE(v.userType(), tp);
  2543     QCOMPARE(v.userType(), tp);
  2536     QVERIFY(v.type() == QVariant::UserType);
  2544     QVERIFY(v.type() == QVariant::UserType);
  2537     {
  2545     {
  2538         QDataStream stream(&data, QIODevice::WriteOnly);
  2546         QDataStream stream(&data, QIODevice::WriteOnly);