diff options
author | Andrew den Exter <andrew.den-exter@nokia.com> | 2012-06-29 17:06:38 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-06 05:24:45 +0200 |
commit | aeac9840e4c46786e84ab7eb16a89db22d4ff81a (patch) | |
tree | 2aaae5a3dccfa9ee447f0896a659cc60caba5b86 /tests/auto/quick/qquickanchors/tst_qquickanchors.cpp | |
parent | ea9c14f3e1a42080be03d95b825a7ba8ed303bbc (diff) |
Allow all explicit margins to override margins.
Task-number: QTBUG-24515
Change-Id: Ibfc657dec9fd0c8e71cf3686a04ea7b00ad72c11
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
Diffstat (limited to 'tests/auto/quick/qquickanchors/tst_qquickanchors.cpp')
-rw-r--r-- | tests/auto/quick/qquickanchors/tst_qquickanchors.cpp | 95 |
1 files changed, 88 insertions, 7 deletions
diff --git a/tests/auto/quick/qquickanchors/tst_qquickanchors.cpp b/tests/auto/quick/qquickanchors/tst_qquickanchors.cpp index 45c00e0bc5..b8c3d5bbd1 100644 --- a/tests/auto/quick/qquickanchors/tst_qquickanchors.cpp +++ b/tests/auto/quick/qquickanchors/tst_qquickanchors.cpp @@ -81,7 +81,9 @@ private slots: void hvCenterRTL(); void fill(); void fillRTL(); + void margins_data(); void margins(); + void marginsRTL_data() { margins_data(); } void marginsRTL(); void stretch(); void baselineOffset(); @@ -635,9 +637,19 @@ void tst_qquickanchors::hvCenterRTL() delete view; } + +void tst_qquickanchors::margins_data() +{ + QTest::addColumn<QUrl>("source"); + + QTest::newRow("fill") << testFileUrl("margins.qml"); + QTest::newRow("individual") << testFileUrl("individualMargins.qml"); +} + void tst_qquickanchors::margins() { - QQuickView *view = new QQuickView(testFileUrl("margins.qml")); + QFETCH(QUrl, source); + QQuickView *view = new QQuickView(source); qApp->processEvents(); QQuickRectangle* rect = findItem<QQuickRectangle>(view->rootObject(), QLatin1String("filler")); @@ -656,22 +668,91 @@ void tst_qquickanchors::margins() rectPrivate->anchors()->setMargins(20.0); QCOMPARE(rectPrivate->anchors()->margins(), 20.0); - QEXPECT_FAIL("","QTBUG-24515", Continue); QCOMPARE(rectPrivate->anchors()->topMargin(), 0.0); QCOMPARE(rectPrivate->anchors()->leftMargin(), 5.0); QCOMPARE(rectPrivate->anchors()->bottomMargin(), 20.0); QCOMPARE(rectPrivate->anchors()->rightMargin(), 20.0); QCOMPARE(rect->x(), 5.0); - QCOMPARE(rect->y(), 20.0); + QCOMPARE(rect->y(), 0.0); QCOMPARE(rect->width(), 200.0 - 5.0 - 20.0); - QCOMPARE(rect->height(), 200.0 - 20.0 - 20.0); + QCOMPARE(rect->height(), 200.0 - 0.0 - 20.0); + + rectPrivate->anchors()->setRightMargin(0.0); + rectPrivate->anchors()->setBottomMargin(0.0); + QCOMPARE(rectPrivate->anchors()->margins(), 20.0); + QCOMPARE(rectPrivate->anchors()->topMargin(), 0.0); + QCOMPARE(rectPrivate->anchors()->leftMargin(), 5.0); + QCOMPARE(rectPrivate->anchors()->bottomMargin(), 0.0); + QCOMPARE(rectPrivate->anchors()->rightMargin(), 0.0); + QCOMPARE(rect->x(), 5.0); + QCOMPARE(rect->y(), 0.0); + QCOMPARE(rect->width(), 200.0 - 5.0 - 0.0); + QCOMPARE(rect->height(), 200.0 - 0.0 - 0.0); + + // Test setting margins doesn't have any effect on individual margins with explicit values. + rectPrivate->anchors()->setMargins(50.0); + QCOMPARE(rectPrivate->anchors()->margins(), 50.0); + QCOMPARE(rectPrivate->anchors()->leftMargin(), 5.0); + QCOMPARE(rectPrivate->anchors()->topMargin(), 0.0); + QCOMPARE(rectPrivate->anchors()->rightMargin(), 0.0); + QCOMPARE(rectPrivate->anchors()->bottomMargin(), 0.0); + QCOMPARE(rect->x(), 0.0 + 5.0); + QCOMPARE(rect->y(), 0.0 + 0.0); + QCOMPARE(rect->width(), 200.0 - 5.0 - 0.0); + QCOMPARE(rect->height(), 200.0 - 0.0 - 0.0); + + // Test that individual margins that are reset have the same value as margins. + rectPrivate->anchors()->resetLeftMargin(); + rectPrivate->anchors()->resetBottomMargin(); + QCOMPARE(rectPrivate->anchors()->leftMargin(), 50.0); + QCOMPARE(rectPrivate->anchors()->topMargin(), 0.0); + QCOMPARE(rectPrivate->anchors()->rightMargin(), 0.0); + QCOMPARE(rectPrivate->anchors()->bottomMargin(), 50.0); + QCOMPARE(rect->x(), 0.0 + 50.0); + QCOMPARE(rect->y(), 0.0 + 0.0); + QCOMPARE(rect->width(), 200.0 - 50.0 - 0.0); + QCOMPARE(rect->height(), 200.0 - 0.0 - 50.0); + + rectPrivate->anchors()->setMargins(30.0); + QCOMPARE(rectPrivate->anchors()->margins(), 30.0); + QCOMPARE(rectPrivate->anchors()->leftMargin(), 30.0); + QCOMPARE(rectPrivate->anchors()->topMargin(), 0.0); + QCOMPARE(rectPrivate->anchors()->rightMargin(), 0.0); + QCOMPARE(rectPrivate->anchors()->bottomMargin(), 30.0); + QCOMPARE(rect->x(), 0.0 + 30.0); + QCOMPARE(rect->y(), 0.0 + 0.0); + QCOMPARE(rect->width(), 200.0 - 30.0 - 0.0); + QCOMPARE(rect->height(), 200.0 - 0.0 - 30.0); + + rectPrivate->anchors()->resetTopMargin(); + rectPrivate->anchors()->resetRightMargin(); + QCOMPARE(rectPrivate->anchors()->leftMargin(), 30.0); + QCOMPARE(rectPrivate->anchors()->topMargin(), 30.0); + QCOMPARE(rectPrivate->anchors()->rightMargin(), 30.0); + QCOMPARE(rectPrivate->anchors()->bottomMargin(), 30.0); + QCOMPARE(rect->x(), 0.0 + 30.0); + QCOMPARE(rect->y(), 0.0 + 30.0); + QCOMPARE(rect->width(), 200.0 - 30.0 - 30.0); + QCOMPARE(rect->height(), 200.0 - 30.0 - 30.0); + + rectPrivate->anchors()->setMargins(25.0); + QCOMPARE(rectPrivate->anchors()->margins(), 25.0); + QCOMPARE(rectPrivate->anchors()->leftMargin(), 25.0); + QCOMPARE(rectPrivate->anchors()->topMargin(), 25.0); + QCOMPARE(rectPrivate->anchors()->rightMargin(), 25.0); + QCOMPARE(rectPrivate->anchors()->bottomMargin(), 25.0); + QCOMPARE(rect->x(), 0.0 + 25.0); + QCOMPARE(rect->y(), 0.0 + 25.0); + QCOMPARE(rect->width(), 200.0 - 25.0 - 25.0); + QCOMPARE(rect->height(), 200.0 - 25.0 - 25.0); delete view; } void tst_qquickanchors::marginsRTL() { - QQuickView *view = new QQuickView(testFileUrl("margins.qml")); + QFETCH(QUrl, source); + QQuickView *view = new QQuickView(source); QQuickRectangle* rect = findItem<QQuickRectangle>(view->rootObject(), QLatin1String("filler")); QQuickItemPrivate *rectPrivate = QQuickItemPrivate::get(rect); @@ -686,9 +767,9 @@ void tst_qquickanchors::marginsRTL() rectPrivate->anchors()->setMargins(20.0); QCOMPARE(rect->x(), 20.0); - QCOMPARE(rect->y(), 20.0); + QCOMPARE(rect->y(), 0.0); QCOMPARE(rect->width(), 200.0 - 5.0 - 20.0); - QCOMPARE(rect->height(), 200.0 - 20.0 - 20.0); + QCOMPARE(rect->height(), 200.0 - 0.0 - 20.0); delete view; } |