diff options
Diffstat (limited to 'tests/auto/quick/qquickshape/tst_qquickshape.cpp')
-rw-r--r-- | tests/auto/quick/qquickshape/tst_qquickshape.cpp | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/tests/auto/quick/qquickshape/tst_qquickshape.cpp b/tests/auto/quick/qquickshape/tst_qquickshape.cpp index a9e15939d3..707e0037f5 100644 --- a/tests/auto/quick/qquickshape/tst_qquickshape.cpp +++ b/tests/auto/quick/qquickshape/tst_qquickshape.cpp @@ -1,5 +1,5 @@ // Copyright (C) 2019 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only #include <QtTest/QtTest> #include <QtQuick/qquickview.h> @@ -62,6 +62,7 @@ private slots: void multilineDataTypes_data(); void multilineDataTypes(); void multilineStronglyTyped(); + void fillTransform(); private: QVector<QPolygonF> m_lowPolyLogo; @@ -247,6 +248,8 @@ void tst_QQuickShape::changeSignals() QCOMPARE(vpChangeSpy.size(), 15); qobject_cast<QQuickGradientStop *>(stopList.at(1))->setColor(Qt::black); QCOMPARE(vpChangeSpy.size(), 16); + vp->setFillTransform(QMatrix4x4(QTransform::fromScale(3, 0.14))); + QCOMPARE(vpChangeSpy.size(), 17); } void tst_QQuickShape::render() @@ -674,6 +677,40 @@ void tst_QQuickShape::multilineStronglyTyped() } } +void tst_QQuickShape::fillTransform() +{ + QScopedPointer<QQuickView> window(createView()); + + window->setSource(testFileUrl("filltransform.qml")); + qApp->processEvents(); + + QQuickShape *obj = findItem<QQuickShape>(window->rootObject(), "shape1"); + QVERIFY(obj != nullptr); + QQmlListReference list(obj, "data"); + QCOMPARE(list.count(), 2); + + QQuickShapePath *p1 = qobject_cast<QQuickShapePath *>(list.at(0)); + QVERIFY(p1 != nullptr); + QVERIFY(p1->objectName() == "path1"); + QVERIFY(p1->fillTransform() == QMatrix4x4(2,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1)); + + QQuickShapePath *p2 = qobject_cast<QQuickShapePath *>(list.at(1)); + QVERIFY(p2 != nullptr); + QVERIFY(p2->objectName() == "path2"); + QVERIFY(p2->fillTransform().isIdentity()); + + QMatrix4x4 xf(QTransform::fromTranslate(-36, 0).shear(0.35, 0)); + p1->setFillTransform(xf); + QVERIFY(p1->fillTransform() == xf); + + QVERIFY(p2->fillTransform().isIdentity()); + p2->setFillTransform(xf); + QVERIFY(p2->fillTransform() == xf); + + p1->setFillTransform(QMatrix4x4{}); + QVERIFY(p1->fillTransform().isIdentity()); +} + QTEST_MAIN(tst_QQuickShape) #include "tst_qquickshape.moc" |