summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/auto/corelib/kernel/qvariant/qvariant.pro2
-rw-r--r--tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp390
-rw-r--r--tests/auto/gui/kernel/qguivariant/no_application/main.cpp (renamed from tests/auto/gui/kernel/qguivariant/tst_qguivariant.cpp)12
-rw-r--r--tests/auto/gui/kernel/qguivariant/no_application/no_application.pro5
-rw-r--r--tests/auto/gui/kernel/qguivariant/qguivariant.pro8
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qbitmap.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbitmap.bin)bin27 -> 27 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qbrush.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbrush.bin)bin105 -> 105 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qcolor.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qcolor.bin)bin32 -> 32 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qcursor.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qcursor.bin)bin25 -> 25 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qeasingcurve.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qeasingcurve.bin)bin43 -> 43 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qfont.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qfont.bin)bin73 -> 73 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qicon.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qicon.bin)bin23 -> 23 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qimage.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qimage.bin)bin25 -> 25 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qkeysequence.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qkeysequence.bin)bin41 -> 41 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qmatrix.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qmatrix.bin)bin71 -> 71 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qmatrix4x4.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qmatrix4x4.bin)bin157 -> 157 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qpalette.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpalette.bin)bin5065 -> 5065 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qpen.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpen.bin)bin132 -> 132 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qpixmap.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpixmap.bin)bin27 -> 27 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qpolygon.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpolygon.bin)bin29 -> 29 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qpolygonf.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpolygonf.bin)bin31 -> 31 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qquaternion.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qquaternion.bin)bin63 -> 63 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qregion.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qregion.bin)bin27 -> 27 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qtextformat.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtextformat.bin)bin39 -> 39 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qtextlength.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtextlength.bin)bin43 -> 43 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qtransform.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtransform.bin)bin101 -> 101 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qvector2d.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector2d.bin)bin43 -> 43 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qvector3d.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector3d.bin)bin51 -> 51 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qvector4d.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector4d.bin)bin59 -> 59 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qbitmap.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbitmap.bin)bin27 -> 27 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qbrush.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbrush.bin)bin105 -> 105 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qcolor.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qcolor.bin)bin32 -> 32 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qcursor.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qcursor.bin)bin25 -> 25 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qeasingcurve.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qeasingcurve.bin)bin43 -> 43 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qfont.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qfont.bin)bin71 -> 71 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qicon.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qicon.bin)bin23 -> 23 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qimage.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qimage.bin)bin25 -> 25 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qkeysequence.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qkeysequence.bin)bin41 -> 41 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qmatrix.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qmatrix.bin)bin71 -> 71 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qmatrix4x4.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qmatrix4x4.bin)bin157 -> 157 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qpalette.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpalette.bin)bin5065 -> 5065 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qpen.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpen.bin)bin132 -> 132 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qpixmap.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpixmap.bin)bin27 -> 27 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qpolygon.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpolygon.bin)bin29 -> 29 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qquaternion.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qquaternion.bin)bin63 -> 63 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qregion.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qregion.bin)bin27 -> 27 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qtextformat.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtextformat.bin)bin39 -> 39 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qtextlength.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtextlength.bin)bin43 -> 43 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qtransform.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtransform.bin)bin101 -> 101 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qvector2d.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector2d.bin)bin43 -> 43 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qvector3d.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector3d.bin)bin51 -> 51 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qvector4d.bin (renamed from tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector4d.bin)bin59 -> 59 bytes
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/test.pro6
-rw-r--r--tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp646
54 files changed, 667 insertions, 402 deletions
diff --git a/tests/auto/corelib/kernel/qvariant/qvariant.pro b/tests/auto/corelib/kernel/qvariant/qvariant.pro
index 55dd5b43aa..053aeeec9f 100644
--- a/tests/auto/corelib/kernel/qvariant/qvariant.pro
+++ b/tests/auto/corelib/kernel/qvariant/qvariant.pro
@@ -1,7 +1,7 @@
CONFIG += testcase
CONFIG += parallel_test
TARGET = tst_qvariant
-QT += gui testlib
+QT = core testlib
INCLUDEPATH += $$PWD/../../../other/qvariant_common
SOURCES = tst_qvariant.cpp
RESOURCES += qvariant.qrc
diff --git a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
index d8c6e25dcc..b6382d3896 100644
--- a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
+++ b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
@@ -48,21 +48,6 @@
#include <qiodevice.h>
#include <qurl.h>
#include <qlocale.h>
-#include <qkeysequence.h>
-#include <qbitmap.h>
-#include <qcursor.h>
-#include <qimage.h>
-#include <qicon.h>
-#include <qmatrix.h>
-#include <qmatrix4x4.h>
-#include <qpen.h>
-#include <qpolygon.h>
-#include <qpalette.h>
-#include <qtransform.h>
-#include <qvector2d.h>
-#include <qvector3d.h>
-#include <qvector4d.h>
-#include <qquaternion.h>
#include <qdebug.h>
#include <qjsondocument.h>
@@ -73,7 +58,6 @@
#include <QRegularExpression>
#include <QDir>
#include <QBuffer>
-#include <QFont>
#include "qnumeric.h"
#include "tst_qvariant_common.h"
@@ -161,27 +145,9 @@ private slots:
void toPointF_data();
void toPointF();
- void toFont_data();
- void toFont();
-
- void toKeySequence_data();
- void toKeySequence();
-
void toRectF_data();
void toRectF();
- void toColor_data();
- void toColor();
-
- void toPixmap_data();
- void toPixmap();
-
- void toImage_data();
- void toImage();
-
- void toBrush_data();
- void toBrush();
-
void qvariant_cast_QObject_data();
void qvariant_cast_QObject();
void qvariant_cast_QObject_derived();
@@ -191,16 +157,6 @@ private slots:
void toRegExp();
void toRegularExpression();
- void matrix();
-
- void transform();
-
- void matrix4x4();
- void vector2D();
- void vector3D();
- void vector4D();
- void quaternion();
-
void url();
void userType();
@@ -235,7 +191,6 @@ private slots:
void variantHash();
void convertToQUint8() const;
- void invalidQColor() const;
void comparePointers() const;
void voidStar() const;
void dataStar() const;
@@ -265,8 +220,6 @@ private slots:
void movabilityTest();
void variantInVariant();
- void colorInteger();
-
void forwardDeclare();
void debugStream_data();
void debugStream();
@@ -281,8 +234,6 @@ private slots:
void loadQt5Stream();
void saveQt5Stream_data();
void saveQt5Stream();
-
- void guiVariantAtExit();
private:
void dataStream_data(QDataStream::Version version);
void loadQVariantFromDataStream(QDataStream::Version version);
@@ -437,23 +388,9 @@ void tst_QVariant::canConvert_data()
QVariant var(QBitArray(0));
QTest::newRow("BitArray")
<< var << Y << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N;
- var = QVariant::fromValue(QBitmap());
- QTest::newRow("Bitmap")
- << var << N << Y << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N;
- var = QVariant::fromValue(QBrush());
- QTest::newRow("Brush")
- << var << N << N << N << Y << N << Y << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N;
var = QVariant(QByteArray());
QTest::newRow("ByteArray")
<< var << N << N << Y << N << Y << Y << N << N << N << Y << N << N << Y << N << N << N << Y << N << N << N << N << N << N << N << N << N << Y << N << N << Y << Y;
- var = QVariant::fromValue(QColor());
- QTest::newRow("Color")
- << var << N << N << N << Y << Y << Y << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N;
-#ifndef QT_NO_CURSOR
- var = QVariant::fromValue(QCursor());
- QTest::newRow("Cursor")
- << var << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N;
-#endif
var = QVariant(QDate());
QTest::newRow("Date")
<< var << N << N << N << N << N << N << N << Y << Y << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N;
@@ -466,24 +403,12 @@ void tst_QVariant::canConvert_data()
var = QVariant(0.1f);
QTest::newRow("Float")
<< var << N << N << Y << N << Y << N << N << N << N << Y << N << N << Y << N << N << N << Y << N << N << N << N << N << N << N << N << N << Y << N << N << Y << Y;
- var = QVariant::fromValue(QFont());
- QTest::newRow("Font")
- << var << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N;
- var = QVariant::fromValue(QIcon());
- QTest::newRow("Icon")
- << var << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N;
- var = QVariant::fromValue(QImage());
- QTest::newRow("Image")
- << var << N << Y << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N;
var = QVariant((int)1);
QTest::newRow("Int")
<< var << N << N << Y << N << Y << N << N << N << N << Y << N << N << Y << N << Y << N << Y << N << N << N << N << N << N << N << N << N << Y << N << N << Y << Y;
var = QVariant();
QTest::newRow("Invalid")
<< var << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N;
- var = QVariant::fromValue(QKeySequence());
- QTest::newRow("KeySequence")
- << var << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << Y << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N;
var = QVariant(QList<QVariant>());
QTest::newRow("List")
<< var << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N;
@@ -493,27 +418,12 @@ void tst_QVariant::canConvert_data()
var = QVariant(QMap<QString,QVariant>());
QTest::newRow("Map")
<< var << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N << N << N << N;
- var = QVariant::fromValue(QPalette());
- QTest::newRow("Palette")
- << var << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N << N << N;
- var = QVariant::fromValue(QPen());
- QTest::newRow("Pen")
- << var << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N << N;
- var = QVariant::fromValue(QPixmap());
- QTest::newRow("Pixmap")
- << var << N << Y << N << Y << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N;
- var = QVariant::fromValue(QPolygon());
- QTest::newRow("PointArray")
- << var << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N;
var = QVariant(QPoint());
QTest::newRow("Point")
<< var << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N;
var = QVariant(QRect());
QTest::newRow("Rect")
<< var << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N;
- var = QVariant::fromValue(QRegion());
- QTest::newRow("Region")
- << var << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N;
var = QVariant(QSize());
QTest::newRow("Size")
<< var << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N;
@@ -585,7 +495,6 @@ void tst_QVariant::toInt_data()
QTest::newRow( "signedint-string" ) << QVariant( QString("-123") ) << -123 << true;
QTest::newRow( "signedlonglong0" ) << QVariant( (qlonglong)-34 ) << -34 << true;
QTest::newRow( "QChar" ) << QVariant(QChar('a')) << int('a') << true;
- QTest::newRow( "keysequence" ) << QVariant::fromValue( QKeySequence( Qt::Key_A ) ) << 65 << true;
QByteArray bytearray(4, ' ');
bytearray[0] = 'T';
bytearray[1] = 'e';
@@ -879,135 +788,6 @@ void tst_QVariant::toRectF()
QCOMPARE( d, result );
}
-void tst_QVariant::toColor_data()
-{
- QTest::addColumn<QVariant>("value");
- QTest::addColumn<QColor>("result");
-
- QColor c("red");
- QTest::newRow( "string" ) << QVariant( QString( "red" ) ) << c;
- QTest::newRow( "solid brush" ) << QVariant( QBrush(c) ) << c;
-}
-
-void tst_QVariant::toColor()
-{
- QFETCH( QVariant, value );
- QFETCH( QColor, result );
- QVERIFY( value.isValid() );
- QVERIFY( value.canConvert( QVariant::Color ) );
- QColor d = qvariant_cast<QColor>(value);
- QCOMPARE( d, result );
-}
-
-void tst_QVariant::toPixmap_data()
-{
- QTest::addColumn<QVariant>("value");
- QTest::addColumn<QPixmap>("result");
-
- QPixmap pm(30, 30);
- pm.fill(Qt::red);
- QTest::newRow( "image" ) << QVariant( pm ) << pm;
-
- QBitmap bm(30, 30);
- bm.fill(Qt::color1);
- QTest::newRow( "bitmap" ) << QVariant( bm ) << QPixmap(bm);
-}
-
-void tst_QVariant::toPixmap()
-{
- QFETCH( QVariant, value );
- QFETCH( QPixmap, result );
- QVERIFY( value.isValid() );
- QVERIFY( value.canConvert( QVariant::Pixmap ) );
- QPixmap d = qvariant_cast<QPixmap>(value);
- QCOMPARE( d, result );
-}
-
-void tst_QVariant::toImage_data()
-{
- QTest::addColumn<QVariant>("value");
- QTest::addColumn<QImage>("result");
-
- QImage im(30, 30, QImage::Format_ARGB32);
- im.fill(0x7fff0000);
- QTest::newRow( "image" ) << QVariant( im ) << im;
-}
-
-void tst_QVariant::toImage()
-{
- QFETCH( QVariant, value );
- QFETCH( QImage, result );
- QVERIFY( value.isValid() );
- QVERIFY( value.canConvert( QVariant::Image ) );
- QImage d = qvariant_cast<QImage>(value);
- QCOMPARE( d, result );
-}
-
-void tst_QVariant::toBrush_data()
-{
- QTest::addColumn<QVariant>("value");
- QTest::addColumn<QBrush>("result");
-
- QColor c(Qt::red);
- QTest::newRow( "color" ) << QVariant( c ) << QBrush(c);
- QPixmap pm(30, 30);
- pm.fill(c);
- QTest::newRow( "pixmap" ) << QVariant( pm ) << QBrush(pm);
-}
-
-void tst_QVariant::toBrush()
-{
- QFETCH( QVariant, value );
- QFETCH( QBrush, result );
- QVERIFY( value.isValid() );
- QVERIFY( value.canConvert( QVariant::Brush ) );
- QBrush d = qvariant_cast<QBrush>(value);
- QCOMPARE( d, result );
-}
-
-void tst_QVariant::toFont_data()
-{
- QTest::addColumn<QVariant>("value");
- QTest::addColumn<QFont>("result");
-
- QFont f("times",12,-1,false);
- QTest::newRow( "string" ) << QVariant( QString( "times,12,-1,5,50,0,0,0,0,0" ) ) << f;
-}
-
-void tst_QVariant::toFont()
-{
- QFETCH( QVariant, value );
- QFETCH( QFont, result );
- QVERIFY( value.isValid() );
- QVERIFY( value.canConvert( QVariant::Font ) );
- QFont d = qvariant_cast<QFont>(value);
- QCOMPARE( d, result );
-}
-
-void tst_QVariant::toKeySequence_data()
-{
- QTest::addColumn<QVariant>("value");
- QTest::addColumn<QKeySequence>("result");
-
-
- QTest::newRow( "int" ) << QVariant( 67108929 ) << QKeySequence( Qt::CTRL + Qt::Key_A );
-
-
- QTest::newRow( "qstring" )
- << QVariant( QString( "Ctrl+A" ) )
- << QKeySequence( Qt::CTRL + Qt::Key_A );
-}
-
-void tst_QVariant::toKeySequence()
-{
- QFETCH( QVariant, value );
- QFETCH( QKeySequence, result );
- QVERIFY( value.isValid() );
- QVERIFY( value.canConvert( QVariant::KeySequence ) );
- QKeySequence d = qvariant_cast<QKeySequence>(value);
- QCOMPARE( d, result );
-}
-
void tst_QVariant::toDouble_data()
{
QTest::addColumn<QVariant>("value");
@@ -1166,16 +946,6 @@ void tst_QVariant::toString_data()
QTest::newRow( "qdate" ) << QVariant( QDate( 2002, 1, 1 ) ) << QString( "2002-01-01" );
QTest::newRow( "qtime" ) << QVariant( QTime( 12, 34, 56 ) ) << QString( "12:34:56" );
QTest::newRow( "qdatetime" ) << QVariant( QDateTime( QDate( 2002, 1, 1 ), QTime( 12, 34, 56 ) ) ) << QString( "2002-01-01T12:34:56" );
- QTest::newRow( "qkeysequence" ) << QVariant::fromValue( QKeySequence( Qt::CTRL + Qt::Key_A ) )
-#ifndef Q_OS_MAC
- << QString( "Ctrl+A" );
-#else
- << QString(QChar(0x2318)) + "A";
-#endif
-
- QFont font( "times", 12 );
- QTest::newRow( "qfont" ) << QVariant::fromValue( font ) << QString("times,12,-1,5,50,0,0,0,0,0");
- QTest::newRow( "qcolor" ) << QVariant::fromValue( QColor( 10, 10, 10 ) ) << QString( "#0a0a0a" );
QTest::newRow( "llong" ) << QVariant( (qlonglong)Q_INT64_C(123456789012) ) <<
QString( "123456789012" );
}
@@ -1279,100 +1049,6 @@ void tst_QVariant::toRegularExpression()
QCOMPARE(re, QRegularExpression("[ab]\\w+"));
}
-void tst_QVariant::matrix()
-{
- QVariant variant;
- QMatrix matrix = qvariant_cast<QMatrix>(variant);
- QVERIFY(matrix.isIdentity());
- variant.setValue(QMatrix().rotate(90));
- QCOMPARE(QMatrix().rotate(90), qvariant_cast<QMatrix>(variant));
-
- void *mmatrix = QMetaType::create(QVariant::Matrix, 0);
- QVERIFY(mmatrix);
- QMetaType::destroy(QVariant::Matrix, mmatrix);
-}
-
-void tst_QVariant::matrix4x4()
-{
- QVariant variant;
- QMatrix4x4 matrix = qvariant_cast<QMatrix4x4>(variant);
- QVERIFY(matrix.isIdentity());
- QMatrix4x4 m;
- m.scale(2.0f);
- variant.setValue(m);
- QCOMPARE(m, qvariant_cast<QMatrix4x4>(variant));
-
- void *mmatrix = QMetaType::create(QVariant::Matrix4x4, 0);
- QVERIFY(mmatrix);
- QMetaType::destroy(QVariant::Matrix4x4, mmatrix);
-}
-
-void tst_QVariant::transform()
-{
- QVariant variant;
- QTransform matrix = qvariant_cast<QTransform>(variant);
- QVERIFY(matrix.isIdentity());
- variant.setValue(QTransform().rotate(90));
- QCOMPARE(QTransform().rotate(90), qvariant_cast<QTransform>(variant));
-
- void *mmatrix = QMetaType::create(QVariant::Transform, 0);
- QVERIFY(mmatrix);
- QMetaType::destroy(QVariant::Transform, mmatrix);
-}
-
-
-void tst_QVariant::vector2D()
-{
- QVariant variant;
- QVector2D vector = qvariant_cast<QVector2D>(variant);
- QVERIFY(vector.isNull());
- variant.setValue(QVector2D(0.1, 0.2));
- QCOMPARE(QVector2D(0.1, 0.2), qvariant_cast<QVector2D>(variant));
-
- void *pvector = QMetaType::create(QVariant::Vector2D, 0);
- QVERIFY(pvector);
- QMetaType::destroy(QVariant::Vector2D, pvector);
-}
-
-void tst_QVariant::vector3D()
-{
- QVariant variant;
- QVector3D vector = qvariant_cast<QVector3D>(variant);
- QVERIFY(vector.isNull());
- variant.setValue(QVector3D(0.1, 0.2, 0.3));
- QCOMPARE(QVector3D(0.1, 0.2, 0.3), qvariant_cast<QVector3D>(variant));
-
- void *pvector = QMetaType::create(QVariant::Vector3D, 0);
- QVERIFY(pvector);
- QMetaType::destroy(QVariant::Vector3D, pvector);
-}
-
-void tst_QVariant::vector4D()
-{
- QVariant variant;
- QVector4D vector = qvariant_cast<QVector4D>(variant);
- QVERIFY(vector.isNull());
- variant.setValue(QVector4D(0.1, 0.2, 0.3, 0.4));
- QCOMPARE(QVector4D(0.1, 0.2, 0.3, 0.4), qvariant_cast<QVector4D>(variant));
-
- void *pvector = QMetaType::create(QVariant::Vector4D, 0);
- QVERIFY(pvector);
- QMetaType::destroy(QVariant::Vector4D, pvector);
-}
-
-void tst_QVariant::quaternion()
-{
- QVariant variant;
- QQuaternion quaternion = qvariant_cast<QQuaternion>(variant);
- QVERIFY(quaternion.isIdentity());
- variant.setValue(QQuaternion(0.1, 0.2, 0.3, 0.4));
- QCOMPARE(QQuaternion(0.1, 0.2, 0.3, 0.4), qvariant_cast<QQuaternion>(variant));
-
- void *pquaternion = QMetaType::create(QVariant::Quaternion, 0);
- QVERIFY(pquaternion);
- QMetaType::destroy(QVariant::Quaternion, pquaternion);
-}
-
struct CustomStreamableClass
{
int i;
@@ -1422,29 +1098,12 @@ void tst_QVariant::writeToReadFromDataStream_data()
bytearray[3] = 't';
bytearray[4] = '\0';
QTest::newRow( "bytearray_valid" ) << QVariant( bytearray ) << false;
- QTest::newRow( "bitmap_invalid" ) << QVariant::fromValue( QBitmap() ) << true;
- QBitmap bitmap( 10, 10 );
- bitmap.fill( Qt::red );
- QTest::newRow( "bitmap_valid" ) << QVariant::fromValue( bitmap ) << false;
- QTest::newRow( "brush_valid" ) << QVariant::fromValue( QBrush( Qt::red ) ) << false;
- QTest::newRow( "color_valid" ) << QVariant::fromValue( QColor( Qt::red ) ) << false;
-#ifndef QT_NO_CURSOR
- QTest::newRow( "cursor_valid" ) << QVariant::fromValue( QCursor( Qt::PointingHandCursor ) ) << false;
-#endif
QTest::newRow( "date_invalid" ) << QVariant( QDate() ) << true;
QTest::newRow( "date_valid" ) << QVariant( QDate( 2002, 07, 06 ) ) << false;
QTest::newRow( "datetime_invalid" ) << QVariant( QDateTime() ) << true;
QTest::newRow( "datetime_valid" ) << QVariant( QDateTime( QDate( 2002, 07, 06 ), QTime( 14, 0, 0 ) ) ) << false;
QTest::newRow( "double_valid" ) << QVariant( 123.456 ) << false;
QTest::newRow( "float_valid" ) << QVariant( 123.456f ) << false;
- QTest::newRow( "font_valid" ) << QVariant::fromValue( QFont( "times", 12 ) ) << false;
- QTest::newRow( "pixmap_invalid" ) << QVariant::fromValue( QPixmap() ) << true;
- QPixmap pixmap( 10, 10 );
- pixmap.fill( Qt::red );
- QTest::newRow( "pixmap_valid" ) << QVariant::fromValue( pixmap ) << false;
-// QTest::newRow( "iconset_valid" ) << QVariant( QIcon( pixmap ) ) << false;
- QTest::newRow( "image_invalid" ) << QVariant::fromValue( QImage() ) << true;
- QTest::newRow( "keysequence_valid" ) << QVariant::fromValue( QKeySequence( Qt::CTRL + Qt::Key_A ) ) << false;
QTest::newRow( "int_valid" ) << QVariant( -123 ) << false;
QVariantMap vMap;
vMap.insert( "int", QVariant( 1 ) );
@@ -1452,12 +1111,6 @@ void tst_QVariant::writeToReadFromDataStream_data()
vMap.insert( "double", QVariant( 3.45 ) );
vMap.insert( "float", QVariant( 3.45f ) );
QTest::newRow( "map_valid" ) << QVariant( vMap ) << false;
- QTest::newRow( "palette_valid" ) << QVariant::fromValue(QPalette(QColor("turquoise"))) << false;
- QTest::newRow( "pen_valid" ) << QVariant::fromValue( QPen( Qt::red ) ) << false;
- QTest::newRow( "pointarray_invalid" ) << QVariant::fromValue( QPolygon() ) << true;
- 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( "point_invalid" ) << QVariant::fromValue( QPoint() ) << true;
QTest::newRow( "point_valid" ) << QVariant::fromValue( QPoint( 10, 10 ) ) << false;
QTest::newRow( "rect_invalid" ) << QVariant( QRect() ) << true;
@@ -2424,16 +2077,6 @@ void tst_QVariant::variantHash()
QCOMPARE(qvariant_cast<QVariantHash>(v3).value("test").toInt(), 42);
}
-void tst_QVariant::invalidQColor() const
-{
- QVariant va("An invalid QColor::name() value.");
- QVERIFY(va.canConvert(QVariant::Color));
-
- QVERIFY(!va.convert(QVariant::Color));
-
- QVERIFY(!qvariant_cast<QColor>(va).isValid());
-}
-
class CustomQObject : public QObject {
Q_OBJECT
public:
@@ -3411,21 +3054,6 @@ void tst_QVariant::variantInVariant()
QCOMPARE(qvariant_cast<QVariant>(var9), var1);
}
-void tst_QVariant::colorInteger()
-{
- QVariant v = QColor(Qt::red);
- QCOMPARE(v.type(), QVariant::Color);
- QCOMPARE(v.value<QColor>(), QColor(Qt::red));
-
- v.setValue(1000);
- QCOMPARE(v.type(), QVariant::Int);
- QCOMPARE(v.toInt(), 1000);
-
- v.setValue(QColor(Qt::yellow));
- QCOMPARE(v.type(), QVariant::Color);
- QCOMPARE(v.value<QColor>(), QColor(Qt::yellow));
-}
-
class Forward;
Q_DECLARE_OPAQUE_POINTER(Forward*)
Q_DECLARE_METATYPE(Forward*)
@@ -3568,7 +3196,7 @@ void tst_QVariant::debugStream_data()
{
QTest::addColumn<QVariant>("variant");
QTest::addColumn<int>("typeId");
- for (int id = 0; id < QMetaType::LastGuiType + 1; ++id) {
+ for (int id = 0; id < QMetaType::LastCoreType + 1; ++id) {
const char *tagName = QMetaType::typeName(id);
if (!tagName)
continue;
@@ -3626,21 +3254,5 @@ void tst_QVariant::debugStreamType()
QVERIFY(msgHandler.testPassed());
}
-void tst_QVariant::guiVariantAtExit()
-{
- // crash test, it should not crash at QGuiApplication exit
- static QVariant cursor = QCursor();
- static QVariant point = QPoint();
- static QVariant icon = QIcon();
- static QVariant image = QImage();
- static QVariant palette = QPalette();
- Q_UNUSED(cursor);
- Q_UNUSED(point);
- Q_UNUSED(icon);
- Q_UNUSED(image);
- Q_UNUSED(palette);
- QVERIFY(true);
-}
-
QTEST_MAIN(tst_QVariant)
#include "tst_qvariant.moc"
diff --git a/tests/auto/gui/kernel/qguivariant/tst_qguivariant.cpp b/tests/auto/gui/kernel/qguivariant/no_application/main.cpp
index 90984eb9f9..d72f3e8ae5 100644
--- a/tests/auto/gui/kernel/qguivariant/tst_qguivariant.cpp
+++ b/tests/auto/gui/kernel/qguivariant/no_application/main.cpp
@@ -46,21 +46,21 @@
-class tst_QGuiVariant : public QObject
+class tst_QGuiVariantNoApplication : public QObject
{
Q_OBJECT
public:
- tst_QGuiVariant();
+ tst_QGuiVariantNoApplication();
private slots:
void variantWithoutApplication();
};
-tst_QGuiVariant::tst_QGuiVariant()
+tst_QGuiVariantNoApplication::tst_QGuiVariantNoApplication()
{}
-void tst_QGuiVariant::variantWithoutApplication()
+void tst_QGuiVariantNoApplication::variantWithoutApplication()
{
QVariant v = QString("red");
@@ -68,5 +68,5 @@ void tst_QGuiVariant::variantWithoutApplication()
}
-QTEST_APPLESS_MAIN(tst_QGuiVariant)
-#include "tst_qguivariant.moc"
+QTEST_APPLESS_MAIN(tst_QGuiVariantNoApplication)
+#include "main.moc"
diff --git a/tests/auto/gui/kernel/qguivariant/no_application/no_application.pro b/tests/auto/gui/kernel/qguivariant/no_application/no_application.pro
new file mode 100644
index 0000000000..cc72c225a3
--- /dev/null
+++ b/tests/auto/gui/kernel/qguivariant/no_application/no_application.pro
@@ -0,0 +1,5 @@
+CONFIG += testcase
+CONFIG += parallel_test
+TARGET = no_application
+SOURCES += main.cpp
+QT += testlib
diff --git a/tests/auto/gui/kernel/qguivariant/qguivariant.pro b/tests/auto/gui/kernel/qguivariant/qguivariant.pro
index 13e86665fe..115da945a5 100644
--- a/tests/auto/gui/kernel/qguivariant/qguivariant.pro
+++ b/tests/auto/gui/kernel/qguivariant/qguivariant.pro
@@ -1,6 +1,2 @@
-CONFIG += testcase
-CONFIG += parallel_test
-TARGET = tst_qguivariant
-SOURCES += tst_qguivariant.cpp
-QT += testlib
-
+TEMPLATE = subdirs
+SUBDIRS = test no_application
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbitmap.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qbitmap.bin
index 13f4dc374d..13f4dc374d 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbitmap.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qbitmap.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbrush.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qbrush.bin
index 60ea8a2b08..60ea8a2b08 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qbrush.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qbrush.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qcolor.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qcolor.bin
index ba1c332e14..ba1c332e14 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qcolor.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qcolor.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qcursor.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qcursor.bin
index 545fa96a1f..545fa96a1f 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qcursor.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qcursor.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qeasingcurve.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qeasingcurve.bin
index b9b9ea633b..b9b9ea633b 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qeasingcurve.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qeasingcurve.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qfont.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qfont.bin
index 76bc5d932f..76bc5d932f 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qfont.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qfont.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qicon.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qicon.bin
index 2f8713244c..2f8713244c 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qicon.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qicon.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qimage.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qimage.bin
index 0ab1cbf6fa..0ab1cbf6fa 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qimage.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qimage.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qkeysequence.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qkeysequence.bin
index 03db168e93..03db168e93 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qkeysequence.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qkeysequence.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qmatrix.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qmatrix.bin
index fc88e2564a..fc88e2564a 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qmatrix.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qmatrix.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qmatrix4x4.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qmatrix4x4.bin
index 3a8b664a69..3a8b664a69 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qmatrix4x4.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qmatrix4x4.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpalette.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qpalette.bin
index 1ad94631bd..1ad94631bd 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpalette.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qpalette.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpen.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qpen.bin
index 1eff5c83ad..1eff5c83ad 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpen.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qpen.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpixmap.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qpixmap.bin
index ce9cb8c434..ce9cb8c434 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpixmap.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qpixmap.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpolygon.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qpolygon.bin
index fbdab8fffc..fbdab8fffc 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qpolygon.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qpolygon.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpolygonf.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qpolygonf.bin
index c4b5f652b3..c4b5f652b3 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpolygonf.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qpolygonf.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qquaternion.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qquaternion.bin
index 01ee6dcdbc..01ee6dcdbc 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qquaternion.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qquaternion.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qregion.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qregion.bin
index 27eec8c4d5..27eec8c4d5 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qregion.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qregion.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtextformat.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qtextformat.bin
index 91382db9c4..91382db9c4 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtextformat.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qtextformat.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtextlength.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qtextlength.bin
index 945dfc0ba9..945dfc0ba9 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtextlength.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qtextlength.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtransform.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qtransform.bin
index 53c4db55f2..53c4db55f2 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qtransform.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qtransform.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector2d.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qvector2d.bin
index a219ab66dd..a219ab66dd 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector2d.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qvector2d.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector3d.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qvector3d.bin
index 4444fb6236..4444fb6236 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector3d.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qvector3d.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector4d.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qvector4d.bin
index 46bcc26f13..46bcc26f13 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt4.9/qvector4d.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt4.9/qvector4d.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbitmap.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qbitmap.bin
index 13f4dc374d..13f4dc374d 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbitmap.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qbitmap.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbrush.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qbrush.bin
index 60ea8a2b08..60ea8a2b08 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qbrush.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qbrush.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qcolor.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qcolor.bin
index ba1c332e14..ba1c332e14 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qcolor.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qcolor.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qcursor.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qcursor.bin
index 545fa96a1f..545fa96a1f 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qcursor.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qcursor.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qeasingcurve.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qeasingcurve.bin
index b3fce0db6d..b3fce0db6d 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qeasingcurve.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qeasingcurve.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qfont.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qfont.bin
index ce31032451..ce31032451 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qfont.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qfont.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qicon.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qicon.bin
index 2f8713244c..2f8713244c 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qicon.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qicon.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qimage.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qimage.bin
index 0ab1cbf6fa..0ab1cbf6fa 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qimage.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qimage.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qkeysequence.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qkeysequence.bin
index ec82cc2871..ec82cc2871 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qkeysequence.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qkeysequence.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qmatrix.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qmatrix.bin
index 24bf570968..24bf570968 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qmatrix.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qmatrix.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qmatrix4x4.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qmatrix4x4.bin
index e4fc8054f9..e4fc8054f9 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qmatrix4x4.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qmatrix4x4.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpalette.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qpalette.bin
index b3caa096cb..b3caa096cb 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpalette.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qpalette.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpen.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qpen.bin
index 964eaa4ee2..964eaa4ee2 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpen.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qpen.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpixmap.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qpixmap.bin
index ce9cb8c434..ce9cb8c434 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpixmap.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qpixmap.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpolygon.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qpolygon.bin
index fbdab8fffc..fbdab8fffc 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qpolygon.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qpolygon.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qquaternion.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qquaternion.bin
index 558767a6b4..558767a6b4 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qquaternion.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qquaternion.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qregion.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qregion.bin
index 27eec8c4d5..27eec8c4d5 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qregion.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qregion.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtextformat.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qtextformat.bin
index 0d91130d62..0d91130d62 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtextformat.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qtextformat.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtextlength.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qtextlength.bin
index 640abfba00..640abfba00 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtextlength.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qtextlength.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtransform.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qtransform.bin
index 86a7aaf1ed..86a7aaf1ed 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qtransform.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qtransform.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector2d.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qvector2d.bin
index 9fe7d9f936..9fe7d9f936 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector2d.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qvector2d.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector3d.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qvector3d.bin
index b3c502f546..b3c502f546 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector3d.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qvector3d.bin
Binary files differ
diff --git a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector4d.bin b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qvector4d.bin
index 2db479c9ce..2db479c9ce 100644
--- a/tests/auto/corelib/kernel/qvariant/stream/qt5.0/qvector4d.bin
+++ b/tests/auto/gui/kernel/qguivariant/test/stream/qt5.0/qvector4d.bin
Binary files differ
diff --git a/tests/auto/gui/kernel/qguivariant/test/test.pro b/tests/auto/gui/kernel/qguivariant/test/test.pro
new file mode 100644
index 0000000000..d47cf7bf6f
--- /dev/null
+++ b/tests/auto/gui/kernel/qguivariant/test/test.pro
@@ -0,0 +1,6 @@
+CONFIG += testcase
+CONFIG += parallel_test
+TARGET = tst_qguivariant
+SOURCES += tst_qguivariant.cpp
+INCLUDEPATH += $$PWD/../../../../other/qvariant_common
+QT += testlib
diff --git a/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp b/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp
new file mode 100644
index 0000000000..301d8891bb
--- /dev/null
+++ b/tests/auto/gui/kernel/qguivariant/test/tst_qguivariant.cpp
@@ -0,0 +1,646 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#include <QtTest/QtTest>
+
+#include <qvariant.h>
+
+#include <qkeysequence.h>
+#include <qbitmap.h>
+#include <qcursor.h>
+#include <qimage.h>
+#include <qicon.h>
+#include <qmatrix.h>
+#include <qmatrix4x4.h>
+#include <qpen.h>
+#include <qpolygon.h>
+#include <qpalette.h>
+#include <qtransform.h>
+#include <qvector2d.h>
+#include <qvector3d.h>
+#include <qvector4d.h>
+#include <qquaternion.h>
+#include <qfont.h>
+
+#include "tst_qvariant_common.h"
+
+
+class tst_QGuiVariant : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void constructor_invalid_data();
+ void constructor_invalid();
+
+ void canConvert_data();
+ void canConvert();
+
+ void toInt_data();
+ void toInt();
+
+ void toFont_data();
+ void toFont();
+
+ void toKeySequence_data();
+ void toKeySequence();
+
+ void toString_data();
+ void toString();
+
+ void toColor_data();
+ void toColor();
+
+ void toPixmap_data();
+ void toPixmap();
+
+ void toImage_data();
+ void toImage();
+
+ void toBrush_data();
+ void toBrush();
+
+ void matrix();
+
+ void transform();
+
+ void matrix4x4();
+ void vector2D();
+ void vector3D();
+ void vector4D();
+ void quaternion();
+
+ void writeToReadFromDataStream_data();
+ void writeToReadFromDataStream();
+
+ void colorInteger();
+ void invalidQColor();
+
+ void debugStream_data();
+ void debugStream();
+
+ void guiVariantAtExit();
+};
+
+void tst_QGuiVariant::constructor_invalid_data()
+{
+ QTest::addColumn<uint>("typeId");
+
+ QTest::newRow("LastGuiType + 1") << uint(QMetaType::LastGuiType + 1);
+ QVERIFY(!QMetaType::isRegistered(QMetaType::LastGuiType + 1));
+ QTest::newRow("LastWidgetsType + 1") << uint(QMetaType::LastWidgetsType + 1);
+ QVERIFY(!QMetaType::isRegistered(QMetaType::LastWidgetsType + 1));
+}
+
+void tst_QGuiVariant::constructor_invalid()
+{
+
+ QFETCH(uint, typeId);
+ {
+ MessageHandlerInvalidType msg;
+ QVariant variant(static_cast<QVariant::Type>(typeId));
+ QVERIFY(!variant.isValid());
+ QVERIFY(variant.userType() == QMetaType::UnknownType);
+ QVERIFY(msg.ok);
+ }
+ {
+ MessageHandlerInvalidType msg;
+ QVariant variant(typeId, /* copy */ 0);
+ QVERIFY(!variant.isValid());
+ QVERIFY(variant.userType() == QMetaType::UnknownType);
+ QVERIFY(msg.ok);
+ }
+}
+
+void tst_QGuiVariant::canConvert_data()
+{
+ TST_QVARIANT_CANCONVERT_DATATABLE_HEADERS
+
+#ifdef Y
+#undef Y
+#endif
+#ifdef N
+#undef N
+#endif
+#define Y true
+#define N false
+
+ QVariant var;
+
+ // bita bitm bool brsh byta col curs date dt dbl font img int inv kseq list ll map pal pen pix pnt rect reg size sp str strl time uint ull
+
+
+ var = QVariant::fromValue(QBitmap());
+ QTest::newRow("Bitmap")
+ << var << N << Y << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N;
+ var = QVariant::fromValue(QBrush());
+ QTest::newRow("Brush")
+ << var << N << N << N << Y << N << Y << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N;
+ var = QVariant::fromValue(QColor());
+ QTest::newRow("Color")
+ << var << N << N << N << Y << Y << Y << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N;
+#ifndef QT_NO_CURSOR
+ var = QVariant::fromValue(QCursor());
+ QTest::newRow("Cursor")
+ << var << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N;
+#endif
+ var = QVariant::fromValue(QFont());
+ QTest::newRow("Font")
+ << var << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N;
+ var = QVariant::fromValue(QIcon());
+ QTest::newRow("Icon")
+ << var << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N;
+ var = QVariant::fromValue(QImage());
+ QTest::newRow("Image")
+ << var << N << Y << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N;
+ var = QVariant::fromValue(QKeySequence());
+ QTest::newRow("KeySequence")
+ << var << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << Y << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N;
+ var = QVariant::fromValue(QPalette());
+ QTest::newRow("Palette")
+ << var << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N << N << N;
+ var = QVariant::fromValue(QPen());
+ QTest::newRow("Pen")
+ << var << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N << N;
+ var = QVariant::fromValue(QPixmap());
+ QTest::newRow("Pixmap")
+ << var << N << Y << N << Y << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N << N << N << N;
+ var = QVariant::fromValue(QPolygon());
+ QTest::newRow("PointArray")
+ << var << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N;
+ var = QVariant::fromValue(QRegion());
+ QTest::newRow("Region")
+ << var << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << N << Y << N << N << N << N << N << N << N;
+
+#undef N
+#undef Y
+}
+
+void tst_QGuiVariant::canConvert()
+{
+ TST_QVARIANT_CANCONVERT_FETCH_DATA
+
+ TST_QVARIANT_CANCONVERT_COMPARE_DATA
+}
+
+void tst_QGuiVariant::toInt_data()
+{
+ QTest::addColumn<QVariant>("value");
+ QTest::addColumn<int>("result");
+ QTest::addColumn<bool>("valueOK");
+
+ QTest::newRow( "keysequence" ) << QVariant::fromValue( QKeySequence( Qt::Key_A ) ) << 65 << true;
+}
+
+void tst_QGuiVariant::toInt()
+{
+ QFETCH( QVariant, value );
+ QFETCH( int, result );
+ QFETCH( bool, valueOK );
+ QVERIFY( value.isValid() == value.canConvert( QVariant::Int ) );
+ bool ok;
+ int i = value.toInt( &ok );
+ QCOMPARE( i, result );
+ QVERIFY( ok == valueOK );
+}
+
+void tst_QGuiVariant::toColor_data()
+{
+ QTest::addColumn<QVariant>("value");
+ QTest::addColumn<QColor>("result");
+
+ QColor c("red");
+ QTest::newRow( "string" ) << QVariant( QString( "red" ) ) << c;
+ QTest::newRow( "solid brush" ) << QVariant( QBrush(c) ) << c;
+}
+
+void tst_QGuiVariant::toColor()
+{
+ QFETCH( QVariant, value );
+ QFETCH( QColor, result );
+ QVERIFY( value.isValid() );
+ QVERIFY( value.canConvert( QVariant::Color ) );
+ QColor d = qvariant_cast<QColor>(value);
+ QCOMPARE( d, result );
+}
+
+void tst_QGuiVariant::toPixmap_data()
+{
+ QTest::addColumn<QVariant>("value");
+ QTest::addColumn<QPixmap>("result");
+
+ QPixmap pm(30, 30);
+ pm.fill(Qt::red);
+ QTest::newRow( "image" ) << QVariant( pm ) << pm;
+
+ QBitmap bm(30, 30);
+ bm.fill(Qt::color1);
+ QTest::newRow( "bitmap" ) << QVariant( bm ) << QPixmap(bm);
+}
+
+void tst_QGuiVariant::toPixmap()
+{
+ QFETCH( QVariant, value );
+ QFETCH( QPixmap, result );
+ QVERIFY( value.isValid() );
+ QVERIFY( value.canConvert( QVariant::Pixmap ) );
+ QPixmap d = qvariant_cast<QPixmap>(value);
+ QCOMPARE( d, result );
+}
+
+void tst_QGuiVariant::toImage_data()
+{
+ QTest::addColumn<QVariant>("value");
+ QTest::addColumn<QImage>("result");
+
+ QImage im(30, 30, QImage::Format_ARGB32);
+ im.fill(0x7fff0000);
+ QTest::newRow( "image" ) << QVariant( im ) << im;
+}
+
+void tst_QGuiVariant::toImage()
+{
+ QFETCH( QVariant, value );
+ QFETCH( QImage, result );
+ QVERIFY( value.isValid() );
+ QVERIFY( value.canConvert( QVariant::Image ) );
+ QImage d = qvariant_cast<QImage>(value);
+ QCOMPARE( d, result );
+}
+
+void tst_QGuiVariant::toBrush_data()
+{
+ QTest::addColumn<QVariant>("value");
+ QTest::addColumn<QBrush>("result");
+
+ QColor c(Qt::red);
+ QTest::newRow( "color" ) << QVariant( c ) << QBrush(c);
+ QPixmap pm(30, 30);
+ pm.fill(c);
+ QTest::newRow( "pixmap" ) << QVariant( pm ) << QBrush(pm);
+}
+
+void tst_QGuiVariant::toBrush()
+{
+ QFETCH( QVariant, value );
+ QFETCH( QBrush, result );
+ QVERIFY( value.isValid() );
+ QVERIFY( value.canConvert( QVariant::Brush ) );
+ QBrush d = qvariant_cast<QBrush>(value);
+ QCOMPARE( d, result );
+}
+
+void tst_QGuiVariant::toFont_data()
+{
+ QTest::addColumn<QVariant>("value");
+ QTest::addColumn<QFont>("result");
+
+ QFont f("times",12,-1,false);
+ QTest::newRow( "string" ) << QVariant( QString( "times,12,-1,5,50,0,0,0,0,0" ) ) << f;
+}
+
+void tst_QGuiVariant::toFont()
+{
+ QFETCH( QVariant, value );
+ QFETCH( QFont, result );
+ QVERIFY( value.isValid() );
+ QVERIFY( value.canConvert( QVariant::Font ) );
+ QFont d = qvariant_cast<QFont>(value);
+ QCOMPARE( d, result );
+}
+
+void tst_QGuiVariant::toKeySequence_data()
+{
+ QTest::addColumn<QVariant>("value");
+ QTest::addColumn<QKeySequence>("result");
+
+
+ QTest::newRow( "int" ) << QVariant( 67108929 ) << QKeySequence( Qt::CTRL + Qt::Key_A );
+
+
+ QTest::newRow( "qstring" )
+ << QVariant( QString( "Ctrl+A" ) )
+ << QKeySequence( Qt::CTRL + Qt::Key_A );
+}
+
+void tst_QGuiVariant::toKeySequence()
+{
+ QFETCH( QVariant, value );
+ QFETCH( QKeySequence, result );
+ QVERIFY( value.isValid() );
+ QVERIFY( value.canConvert( QVariant::KeySequence ) );
+ QKeySequence d = qvariant_cast<QKeySequence>(value);
+ QCOMPARE( d, result );
+}
+
+void tst_QGuiVariant::toString_data()
+{
+ QTest::addColumn<QVariant>("value");
+ QTest::addColumn<QString>("result");
+
+ QTest::newRow( "qkeysequence" ) << QVariant::fromValue( QKeySequence( Qt::CTRL + Qt::Key_A ) )
+#ifndef Q_OS_MAC
+ << QString( "Ctrl+A" );
+#else
+ << QString(QChar(0x2318)) + "A";
+#endif
+
+ QFont font( "times", 12 );
+ QTest::newRow( "qfont" ) << QVariant::fromValue( font ) << QString("times,12,-1,5,50,0,0,0,0,0");
+ QTest::newRow( "qcolor" ) << QVariant::fromValue( QColor( 10, 10, 10 ) ) << QString( "#0a0a0a" );
+}
+
+void tst_QGuiVariant::toString()
+{
+ QFETCH( QVariant, value );
+ QFETCH( QString, result );
+ QVERIFY( value.isValid() );
+ QVERIFY( value.canConvert( QVariant::String ) );
+ QString str = value.toString();
+ QCOMPARE( str, result );
+}
+
+void tst_QGuiVariant::matrix()
+{
+ QVariant variant;
+ QMatrix matrix = qvariant_cast<QMatrix>(variant);
+ QVERIFY(matrix.isIdentity());
+ variant.setValue(QMatrix().rotate(90));
+ QCOMPARE(QMatrix().rotate(90), qvariant_cast<QMatrix>(variant));
+
+ void *mmatrix = QMetaType::create(QVariant::Matrix, 0);
+ QVERIFY(mmatrix);
+ QMetaType::destroy(QVariant::Matrix, mmatrix);
+}
+
+void tst_QGuiVariant::matrix4x4()
+{
+ QVariant variant;
+ QMatrix4x4 matrix = qvariant_cast<QMatrix4x4>(variant);
+ QVERIFY(matrix.isIdentity());
+ QMatrix4x4 m;
+ m.scale(2.0f);
+ variant.setValue(m);
+ QCOMPARE(m, qvariant_cast<QMatrix4x4>(variant));
+
+ void *mmatrix = QMetaType::create(QVariant::Matrix4x4, 0);
+ QVERIFY(mmatrix);
+ QMetaType::destroy(QVariant::Matrix4x4, mmatrix);
+}
+
+void tst_QGuiVariant::transform()
+{
+ QVariant variant;
+ QTransform matrix = qvariant_cast<QTransform>(variant);
+ QVERIFY(matrix.isIdentity());
+ variant.setValue(QTransform().rotate(90));
+ QCOMPARE(QTransform().rotate(90), qvariant_cast<QTransform>(variant));
+
+ void *mmatrix = QMetaType::create(QVariant::Transform, 0);
+ QVERIFY(mmatrix);
+ QMetaType::destroy(QVariant::Transform, mmatrix);
+}
+
+
+void tst_QGuiVariant::vector2D()
+{
+ QVariant variant;
+ QVector2D vector = qvariant_cast<QVector2D>(variant);
+ QVERIFY(vector.isNull());
+ variant.setValue(QVector2D(0.1, 0.2));
+ QCOMPARE(QVector2D(0.1, 0.2), qvariant_cast<QVector2D>(variant));
+
+ void *pvector = QMetaType::create(QVariant::Vector2D, 0);
+ QVERIFY(pvector);
+ QMetaType::destroy(QVariant::Vector2D, pvector);
+}
+
+void tst_QGuiVariant::vector3D()
+{
+ QVariant variant;
+ QVector3D vector = qvariant_cast<QVector3D>(variant);
+ QVERIFY(vector.isNull());
+ variant.setValue(QVector3D(0.1, 0.2, 0.3));
+ QCOMPARE(QVector3D(0.1, 0.2, 0.3), qvariant_cast<QVector3D>(variant));
+
+ void *pvector = QMetaType::create(QVariant::Vector3D, 0);
+ QVERIFY(pvector);
+ QMetaType::destroy(QVariant::Vector3D, pvector);
+}
+
+void tst_QGuiVariant::vector4D()
+{
+ QVariant variant;
+ QVector4D vector = qvariant_cast<QVector4D>(variant);
+ QVERIFY(vector.isNull());
+ variant.setValue(QVector4D(0.1, 0.2, 0.3, 0.4));
+ QCOMPARE(QVector4D(0.1, 0.2, 0.3, 0.4), qvariant_cast<QVector4D>(variant));
+
+ void *pvector = QMetaType::create(QVariant::Vector4D, 0);
+ QVERIFY(pvector);
+ QMetaType::destroy(QVariant::Vector4D, pvector);
+}
+
+void tst_QGuiVariant::quaternion()
+{
+ QVariant variant;
+ QQuaternion quaternion = qvariant_cast<QQuaternion>(variant);
+ QVERIFY(quaternion.isIdentity());
+ variant.setValue(QQuaternion(0.1, 0.2, 0.3, 0.4));
+ QCOMPARE(QQuaternion(0.1, 0.2, 0.3, 0.4), qvariant_cast<QQuaternion>(variant));
+
+ void *pquaternion = QMetaType::create(QVariant::Quaternion, 0);
+ QVERIFY(pquaternion);
+ QMetaType::destroy(QVariant::Quaternion, pquaternion);
+}
+
+void tst_QGuiVariant::writeToReadFromDataStream_data()
+{
+ QTest::addColumn<QVariant>("writeVariant");
+ QTest::addColumn<bool>("isNull");
+
+ QTest::newRow( "bitmap_invalid" ) << QVariant::fromValue( QBitmap() ) << true;
+ QBitmap bitmap( 10, 10 );
+ bitmap.fill( Qt::red );
+ QTest::newRow( "bitmap_valid" ) << QVariant::fromValue( bitmap ) << false;
+ QTest::newRow( "brush_valid" ) << QVariant::fromValue( QBrush( Qt::red ) ) << false;
+ QTest::newRow( "color_valid" ) << QVariant::fromValue( QColor( Qt::red ) ) << false;
+#ifndef QT_NO_CURSOR
+ QTest::newRow( "cursor_valid" ) << QVariant::fromValue( QCursor( Qt::PointingHandCursor ) ) << false;
+#endif
+ QTest::newRow( "font_valid" ) << QVariant::fromValue( QFont( "times", 12 ) ) << false;
+ QTest::newRow( "pixmap_invalid" ) << QVariant::fromValue( QPixmap() ) << true;
+ QPixmap pixmap( 10, 10 );
+ pixmap.fill( Qt::red );
+ QTest::newRow( "pixmap_valid" ) << QVariant::fromValue( pixmap ) << false;
+ QTest::newRow( "image_invalid" ) << QVariant::fromValue( QImage() ) << true;
+ QTest::newRow( "keysequence_valid" ) << QVariant::fromValue( QKeySequence( Qt::CTRL + Qt::Key_A ) ) << false;
+ QTest::newRow( "palette_valid" ) << QVariant::fromValue(QPalette(QColor("turquoise"))) << false;
+ QTest::newRow( "pen_valid" ) << QVariant::fromValue( QPen( Qt::red ) ) << false;
+ QTest::newRow( "pointarray_invalid" ) << QVariant::fromValue( QPolygon() ) << true;
+ 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;
+}
+
+void tst_QGuiVariant::invalidQColor()
+{
+ QVariant va("An invalid QColor::name() value.");
+ QVERIFY(va.canConvert(QVariant::Color));
+
+ QVERIFY(!va.convert(QVariant::Color));
+
+ QVERIFY(!qvariant_cast<QColor>(va).isValid());
+}
+
+void tst_QGuiVariant::colorInteger()
+{
+ QVariant v = QColor(Qt::red);
+ QCOMPARE(v.type(), QVariant::Color);
+ QCOMPARE(v.value<QColor>(), QColor(Qt::red));
+
+ v.setValue(1000);
+ QCOMPARE(v.type(), QVariant::Int);
+ QCOMPARE(v.toInt(), 1000);
+
+ v.setValue(QColor(Qt::yellow));
+ QCOMPARE(v.type(), QVariant::Color);
+ QCOMPARE(v.value<QColor>(), QColor(Qt::yellow));
+}
+
+void tst_QGuiVariant::writeToReadFromDataStream()
+{
+ QFETCH( QVariant, writeVariant );
+ QFETCH( bool, isNull );
+ QByteArray data;
+
+ QDataStream writeStream( &data, QIODevice::WriteOnly );
+ writeStream << writeVariant;
+
+ QVariant readVariant;
+ QDataStream readStream( &data, QIODevice::ReadOnly );
+ readStream >> readVariant;
+ QVERIFY( readVariant.isNull() == isNull );
+ // Best way to confirm the readVariant contains the same data?
+ // Since only a few won't match since the serial numbers are different
+ // I won't bother adding another bool in the data test.
+ const int writeType = writeVariant.userType();
+ if ( writeType != QVariant::Invalid && writeType != QVariant::Bitmap && writeType != QVariant::Pixmap
+ && writeType != QVariant::Image) {
+ switch (writeType) {
+ default:
+ QCOMPARE( readVariant, writeVariant );
+ break;
+
+ // compare types know by QMetaType but not QVariant (QVariant::operator==() knows nothing about them)
+ case QMetaType::Long:
+ QCOMPARE(qvariant_cast<long>(readVariant), qvariant_cast<long>(writeVariant));
+ break;
+ case QMetaType::ULong:
+ QCOMPARE(qvariant_cast<ulong>(readVariant), qvariant_cast<ulong>(writeVariant));
+ break;
+ case QMetaType::Short:
+ QCOMPARE(qvariant_cast<short>(readVariant), qvariant_cast<short>(writeVariant));
+ break;
+ case QMetaType::UShort:
+ QCOMPARE(qvariant_cast<ushort>(readVariant), qvariant_cast<ushort>(writeVariant));
+ break;
+ case QMetaType::Char:
+ QCOMPARE(qvariant_cast<char>(readVariant), qvariant_cast<char>(writeVariant));
+ break;
+ case QMetaType::UChar:
+ QCOMPARE(qvariant_cast<uchar>(readVariant), qvariant_cast<uchar>(writeVariant));
+ break;
+ case QMetaType::Float:
+ {
+ // the uninitialized float can be NaN (observed on Windows Mobile 5 ARMv4i)
+ float readFloat = qvariant_cast<float>(readVariant);
+ float writtenFloat = qvariant_cast<float>(writeVariant);
+ QVERIFY(qIsNaN(readFloat) == qIsNaN(writtenFloat));
+ if (!qIsNaN(readFloat))
+ QVERIFY(readFloat == writtenFloat);
+ }
+ break;
+ }
+ }
+}
+
+void tst_QGuiVariant::debugStream_data()
+{
+ QTest::addColumn<QVariant>("variant");
+ QTest::addColumn<int>("typeId");
+ for (int id = QMetaType::FirstGuiType; id <= QMetaType::LastGuiType; ++id) {
+ const char *tagName = QMetaType::typeName(id);
+ if (!tagName)
+ continue;
+ QTest::newRow(tagName) << QVariant(static_cast<QVariant::Type>(id)) << id;
+ }
+}
+
+void tst_QGuiVariant::debugStream()
+{
+ QFETCH(QVariant, variant);
+ QFETCH(int, typeId);
+
+ MessageHandler msgHandler(typeId);
+ qDebug() << variant;
+ QVERIFY(msgHandler.testPassed());
+}
+
+void tst_QGuiVariant::guiVariantAtExit()
+{
+ // crash test, it should not crash at QGuiApplication exit
+ static QVariant cursor = QCursor();
+ static QVariant point = QPoint();
+ static QVariant icon = QIcon();
+ static QVariant image = QImage();
+ static QVariant palette = QPalette();
+ Q_UNUSED(cursor);
+ Q_UNUSED(point);
+ Q_UNUSED(icon);
+ Q_UNUSED(image);
+ Q_UNUSED(palette);
+ QVERIFY(true);
+}
+
+QTEST_MAIN(tst_QGuiVariant)
+#include "tst_qguivariant.moc"