aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorBea Lam <bea.lam@nokia.com>2011-09-05 10:59:28 +1000
committerQt by Nokia <qt-info@nokia.com>2011-09-07 05:55:48 +0200
commit8282beb53de059237a4240ad9615d77f676c20fb (patch)
tree1fc6e6f7cb42da276bccb5e96be3657cdbc8c57b /tests
parent0fdd97f613af6ae255e9cd1470ad8d4d67091dd7 (diff)
Fix min extents to correctly consider header size
Regression from c0fc795f which changed implementation to always position header at a negative position, and not just when visibleItems is empty. Task-number: QTBUG-21207 Change-Id: I9a888e7e30b00f70835734b1e0e75e57ed282602 Reviewed-on: http://codereview.qt.nokia.com/4159 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/declarative/qsggridview/data/header.qml4
-rw-r--r--tests/auto/declarative/qsggridview/tst_qsggridview.cpp31
-rw-r--r--tests/auto/declarative/qsglistview/data/header.qml4
-rw-r--r--tests/auto/declarative/qsglistview/tst_qsglistview.cpp43
4 files changed, 60 insertions, 22 deletions
diff --git a/tests/auto/declarative/qsggridview/data/header.qml b/tests/auto/declarative/qsggridview/data/header.qml
index 5978317a76..648e2a2298 100644
--- a/tests/auto/declarative/qsggridview/data/header.qml
+++ b/tests/auto/declarative/qsggridview/data/header.qml
@@ -24,8 +24,8 @@ Rectangle {
GridView {
id: grid
objectName: "grid"
- width: 240
- height: 320
+ width: initialViewWidth
+ height: initialViewHeight
cellWidth: 80
cellHeight: 60
model: testModel
diff --git a/tests/auto/declarative/qsggridview/tst_qsggridview.cpp b/tests/auto/declarative/qsggridview/tst_qsggridview.cpp
index f29eb33383..1200129e0b 100644
--- a/tests/auto/declarative/qsggridview/tst_qsggridview.cpp
+++ b/tests/auto/declarative/qsggridview/tst_qsggridview.cpp
@@ -2459,17 +2459,15 @@ void tst_QSGGridView::header()
QFETCH(QPointF, firstDelegatePos);
QFETCH(QPointF, resizeContentPos);
- QSGView *canvas = createView();
-
TestModel model;
for (int i = 0; i < 30; i++)
model.addItem("Item" + QString::number(i), "");
- QDeclarativeContext *ctxt = canvas->rootContext();
- ctxt->setContextProperty("testModel", &model);
-
+ QSGView *canvas = createView();
+ canvas->rootContext()->setContextProperty("testModel", &model);
+ canvas->rootContext()->setContextProperty("initialViewWidth", 240);
+ canvas->rootContext()->setContextProperty("initialViewHeight", 320);
canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/header.qml"));
- qApp->processEvents();
QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
QTRY_VERIFY(gridview != 0);
@@ -2525,6 +2523,27 @@ void tst_QSGGridView::header()
QTRY_COMPARE(QPointF(gridview->contentX(), gridview->contentY()), resizeContentPos);
delete canvas;
+
+
+ // QTBUG-21207 header should become visible if view resizes from initial empty size
+
+ canvas = createView();
+ canvas->rootContext()->setContextProperty("testModel", &model);
+ canvas->rootContext()->setContextProperty("initialViewWidth", 240);
+ canvas->rootContext()->setContextProperty("initialViewHeight", 320);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/header.qml"));
+
+ gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+ gridview->setFlow(flow);
+ gridview->setLayoutDirection(layoutDirection);
+
+ gridview->setWidth(240);
+ gridview->setHeight(320);
+ QTRY_COMPARE(gridview->headerItem()->pos(), initialHeaderPos);
+ QCOMPARE(QPointF(gridview->contentX(), gridview->contentY()), initialContentPos);
+
+ delete canvas;
}
void tst_QSGGridView::header_data()
diff --git a/tests/auto/declarative/qsglistview/data/header.qml b/tests/auto/declarative/qsglistview/data/header.qml
index b073146582..bf70310630 100644
--- a/tests/auto/declarative/qsglistview/data/header.qml
+++ b/tests/auto/declarative/qsglistview/data/header.qml
@@ -24,8 +24,8 @@ Rectangle {
id: list
objectName: "list"
focus: true
- width: 240
- height: 320
+ width: initialViewWidth
+ height: initialViewHeight
snapMode: ListView.SnapToItem
model: testModel
delegate: myDelegate
diff --git a/tests/auto/declarative/qsglistview/tst_qsglistview.cpp b/tests/auto/declarative/qsglistview/tst_qsglistview.cpp
index ecbb9b87cb..76e93034dd 100644
--- a/tests/auto/declarative/qsglistview/tst_qsglistview.cpp
+++ b/tests/auto/declarative/qsglistview/tst_qsglistview.cpp
@@ -2463,17 +2463,15 @@ void tst_QSGListView::header()
QFETCH(QPointF, changedContentPos);
QFETCH(QPointF, resizeContentPos);
- QSGView *canvas = createView();
-
TestModel model;
for (int i = 0; i < 30; i++)
model.addItem("Item" + QString::number(i), "");
- QDeclarativeContext *ctxt = canvas->rootContext();
- ctxt->setContextProperty("testModel", &model);
-
+ QSGView *canvas = createView();
+ canvas->rootContext()->setContextProperty("testModel", &model);
+ canvas->rootContext()->setContextProperty("initialViewWidth", 240);
+ canvas->rootContext()->setContextProperty("initialViewHeight", 320);
canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/header.qml"));
- qApp->processEvents();
QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
QTRY_VERIFY(listview != 0);
@@ -2521,6 +2519,27 @@ void tst_QSGListView::header()
QTRY_COMPARE(QPointF(listview->contentX(), listview->contentY()), changedContentPos);
QCOMPARE(item->pos(), firstDelegatePos);
+ delete canvas;
+
+
+ // QTBUG-21207 header should become visible if view resizes from initial empty size
+
+ canvas = createView();
+ canvas->rootContext()->setContextProperty("testModel", &model);
+ canvas->rootContext()->setContextProperty("initialViewWidth", 0.0);
+ canvas->rootContext()->setContextProperty("initialViewHeight", 0.0);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/header.qml"));
+
+ listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+ listview->setOrientation(orientation);
+ listview->setLayoutDirection(layoutDirection);
+
+ listview->setWidth(240);
+ listview->setHeight(320);
+ QTRY_COMPARE(listview->headerItem()->pos(), initialHeaderPos);
+ QCOMPARE(QPointF(listview->contentX(), listview->contentY()), initialContentPos);
+
header->setHeight(10);
header->setWidth(40);
QTRY_COMPARE(QPointF(listview->contentX(), listview->contentY()), resizeContentPos);
@@ -2800,8 +2819,8 @@ void tst_QSGListView::headerFooter()
QVERIFY(footer);
QCOMPARE(footer->y(), 0.);
- QVERIFY(static_cast<LVAccessor*>(listview)->minY() == 0);
- QVERIFY(static_cast<LVAccessor*>(listview)->maxY() == 0);
+ QCOMPARE(static_cast<LVAccessor*>(listview)->minY(), header->height());
+ QCOMPARE(static_cast<LVAccessor*>(listview)->maxY(), header->height());
delete canvas;
}
@@ -2831,8 +2850,8 @@ void tst_QSGListView::headerFooter()
QVERIFY(footer);
QCOMPARE(footer->x(), 0.);
- QVERIFY(static_cast<LVAccessor*>(listview)->minX() == 0);
- QVERIFY(static_cast<LVAccessor*>(listview)->maxX() == 0);
+ QCOMPARE(static_cast<LVAccessor*>(listview)->minX(), header->width());
+ QCOMPARE(static_cast<LVAccessor*>(listview)->maxX(), header->width());
delete canvas;
}
@@ -2863,8 +2882,8 @@ void tst_QSGListView::headerFooter()
QVERIFY(footer);
QCOMPARE(footer->x(), -footer->width());
- QCOMPARE(static_cast<LVAccessor*>(listview)->minX(), 240.);
- QCOMPARE(static_cast<LVAccessor*>(listview)->maxX(), 240.);
+ QCOMPARE(static_cast<LVAccessor*>(listview)->minX(), 240. - header->width());
+ QCOMPARE(static_cast<LVAccessor*>(listview)->maxX(), 240. - header->width());
delete canvas;
}