diff options
author | Martin Jones <martin.jones@nokia.com> | 2011-05-05 04:18:28 (GMT) |
---|---|---|
committer | Martin Jones <martin.jones@nokia.com> | 2011-05-05 04:18:28 (GMT) |
commit | 4fbcb6a531bf424a8dbbbd0ca2947d9e15118885 (patch) | |
tree | 73e33648cb54f5be25caa46af765080c18f95c36 /tests/auto/declarative/qdeclarativepathview | |
parent | 95aa4e4f9b82c3652ffc93310b190db869d491df (diff) | |
download | Qt-4fbcb6a531bf424a8dbbbd0ca2947d9e15118885.zip Qt-4fbcb6a531bf424a8dbbbd0ca2947d9e15118885.tar.gz Qt-4fbcb6a531bf424a8dbbbd0ca2947d9e15118885.tar.bz2 |
Views do not notify count changes properly
The views don't have a valid count until both a model and a delegate
are provided. But, countChanged() is not called when a delegate is
set after the model, so bindings to count were not evaluated. Also
test that count is updated for insertion/removal
Change-Id: Ic82039a624c02f0bdb2862ac7a6e215df75bb314
Task-number: QTBUG-19037
Reviewed-by: Bea Lam
Diffstat (limited to 'tests/auto/declarative/qdeclarativepathview')
3 files changed, 6 insertions, 0 deletions
diff --git a/tests/auto/declarative/qdeclarativepathview/data/datamodel.qml b/tests/auto/declarative/qdeclarativepathview/data/datamodel.qml index 1322025..e2c4e3d 100644 --- a/tests/auto/declarative/qdeclarativepathview/data/datamodel.qml +++ b/tests/auto/declarative/qdeclarativepathview/data/datamodel.qml @@ -2,6 +2,7 @@ import QtQuick 1.0 PathView { id: pathview + property int viewCount: count objectName: "pathview" width: 240; height: 320 pathItemCount: testObject.pathItemCount diff --git a/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml b/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml index 04c7717..28b6fb9 100644 --- a/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml +++ b/tests/auto/declarative/qdeclarativepathview/data/pathview0.qml @@ -2,6 +2,7 @@ import QtQuick 1.0 Rectangle { id: root + property int count: view.count property int currentA: -1 property int currentB: -1 property real delegateWidth: 60 diff --git a/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp b/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp index 46c3519..24b1115 100644 --- a/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp +++ b/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp @@ -253,6 +253,8 @@ void tst_QDeclarativePathView::items() QDeclarativePathView *pathview = findItem<QDeclarativePathView>(canvas->rootObject(), "view"); QVERIFY(pathview != 0); + QCOMPARE(pathview->count(), model.count()); + QCOMPARE(canvas->rootObject()->property("count").toInt(), model.count()); QCOMPARE(pathview->childItems().count(), model.count()+1); // assumes all are visible, including highlight for (int i = 0; i < model.count(); ++i) { @@ -400,6 +402,7 @@ void tst_QDeclarativePathView::dataModel() model.insertItem(4, "orange", "10"); QTest::qWait(100); + QCOMPARE(canvas->rootObject()->property("viewCount").toInt(), model.count()); QTRY_COMPARE(findItems<QDeclarativeItem>(pathview, "wrapper").count(), 14); QVERIFY(pathview->currentIndex() == 0); @@ -409,6 +412,7 @@ void tst_QDeclarativePathView::dataModel() QCOMPARE(text->text(), model.name(4)); model.removeItem(2); + QCOMPARE(canvas->rootObject()->property("viewCount").toInt(), model.count()); text = findItem<QDeclarativeText>(pathview, "myText", 2); QVERIFY(text); QCOMPARE(text->text(), model.name(2)); |