From 2d8872c3accbf4a6f07e3ce4d220c9f87057545a Mon Sep 17 00:00:00 2001 From: Frank Reininghaus Date: Mon, 9 Sep 2013 21:13:38 +0200 Subject: [PATCH] Test if the groups are updated correctly when items are refreshed This unit test will hopefully prevent regressions in the future. It is the first part of https://git.reviewboard.kde.org/r/112561/. --- src/tests/kfileitemmodeltest.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/tests/kfileitemmodeltest.cpp b/src/tests/kfileitemmodeltest.cpp index f8439789b..b0a27cd01 100644 --- a/src/tests/kfileitemmodeltest.cpp +++ b/src/tests/kfileitemmodeltest.cpp @@ -1246,6 +1246,24 @@ void KFileItemModelTest::testNameRoleGroups() expectedGroups << QPair(2, QLatin1String("D")); expectedGroups << QPair(3, QLatin1String("E")); QCOMPARE(m_model->groups(), expectedGroups); + + // Change d.txt back to c.txt, but this time using the dir lister's refreshItems() signal. + const KFileItem fileItemD = m_model->fileItem(2); + KFileItem fileItemC = fileItemD; + KUrl urlC = fileItemC.url(); + urlC.setFileName("c.txt"); + fileItemC.setUrl(urlC); + + m_model->slotRefreshItems(QList >() << qMakePair(fileItemD, fileItemC)); + QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsMoved(KItemRange,QList)), DefaultTimeout)); + QCOMPARE(itemsInModel(), QStringList() << "a.txt" << "b.txt" << "c.txt" << "e.txt"); + + expectedGroups.clear(); + expectedGroups << QPair(0, QLatin1String("A")); + expectedGroups << QPair(1, QLatin1String("B")); + expectedGroups << QPair(2, QLatin1String("C")); + expectedGroups << QPair(3, QLatin1String("E")); + QCOMPARE(m_model->groups(), expectedGroups); } QStringList KFileItemModelTest::itemsInModel() const -- 2.47.3