summaryrefslogtreecommitdiffstats
path: root/tests/auto/gui/painting
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-06-07 19:10:53 +0200
committerLiang Qi <liang.qi@qt.io>2018-06-07 19:10:53 +0200
commit096e37910d93f9c52976600e985c615ea36fe291 (patch)
tree713d020f4a04f03d8ca6e111055e7eebe85953a8 /tests/auto/gui/painting
parent88eda007a3b5046999dd0b287634765efcd8934d (diff)
parenta14a943f9ac3d1e85514d7fb6688c84e624ac850 (diff)
Merge remote-tracking branch 'origin/5.11' into dev
Conflicts: .qmake.conf src/corelib/kernel/qeventdispatcher_cf.mm src/gui/kernel/qguiapplication_p.h src/gui/kernel/qwindowsysteminterface.cpp src/gui/kernel/qwindowsysteminterface.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/ios/qioseventdispatcher.mm src/plugins/platforms/windows/qwindowsdrag.h src/plugins/platforms/windows/qwindowsinternalmimedata.h src/plugins/platforms/windows/qwindowsmime.cpp src/plugins/platforms/winrt/qwinrtscreen.cpp Change-Id: Ic817f265c2386e83839d2bb9ef7419cb29705246
Diffstat (limited to 'tests/auto/gui/painting')
-rw-r--r--tests/auto/gui/painting/qtransform/tst_qtransform.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/auto/gui/painting/qtransform/tst_qtransform.cpp b/tests/auto/gui/painting/qtransform/tst_qtransform.cpp
index 0a6a95daca..f9366c9227 100644
--- a/tests/auto/gui/painting/qtransform/tst_qtransform.cpp
+++ b/tests/auto/gui/painting/qtransform/tst_qtransform.cpp
@@ -49,6 +49,8 @@ private slots:
void matrix();
void testOffset();
void types();
+ void types2_data();
+ void types2();
void scalarOps();
void transform();
void mapEmptyPath();
@@ -65,6 +67,7 @@ private:
};
Q_DECLARE_METATYPE(QTransform)
+Q_DECLARE_METATYPE(QTransform::TransformationType)
void tst_QTransform::mapRect_data()
{
@@ -568,6 +571,38 @@ void tst_QTransform::types()
QCOMPARE(m5.type(), QTransform::TxScale);
}
+void tst_QTransform::types2_data()
+{
+ QTest::addColumn<QTransform>("t1");
+ QTest::addColumn<QTransform::TransformationType>("type");
+
+ QTest::newRow( "identity" ) << QTransform() << QTransform::TxNone;
+ QTest::newRow( "translate" ) << QTransform().translate(10, -0.1) << QTransform::TxTranslate;
+ QTest::newRow( "scale" ) << QTransform().scale(10, -0.1) << QTransform::TxScale;
+ QTest::newRow( "rotate" ) << QTransform().rotate(10) << QTransform::TxRotate;
+ QTest::newRow( "shear" ) << QTransform().shear(10, -0.1) << QTransform::TxShear;
+ QTest::newRow( "project" ) << QTransform().rotate(10, Qt::XAxis) << QTransform::TxProject;
+ QTest::newRow( "combined" ) << QTransform().translate(10, -0.1).scale(10, -0.1).rotate(10, Qt::YAxis) << QTransform::TxProject;
+}
+
+void tst_QTransform::types2()
+{
+#define CHECKTXTYPE(func) { QTransform t2(func); \
+ QTransform t3(t2.m11(), t2.m12(), t2.m13(), t2.m21(), t2.m22(), t2.m23(), t2.m31(), t2.m32(), t2.m33()); \
+ QVERIFY2(t3.type() == t2.type(), #func); \
+ }
+
+ QFETCH( QTransform, t1 );
+ QFETCH( QTransform::TransformationType, type );
+
+ Q_ASSERT(t1.type() == type);
+
+ CHECKTXTYPE(t1.adjoint());
+ CHECKTXTYPE(t1.inverted());
+ CHECKTXTYPE(t1.transposed());
+
+#undef CHECKTXTYPE
+}
void tst_QTransform::scalarOps()
{