mirror of
https://invent.kde.org/system/dolphin
synced 2024-10-28 03:21:56 +00:00
Add unit test for KFileItemModel::createMimeData().
The test verifies that creating the mime data for a child of an expanced folder does not cause a crash. The regression happenened in the master branch, but it doesn't hurt to have the test also in KDE/4.12. CCBUG: 329119
This commit is contained in:
parent
d5d1ae124a
commit
c2108b122e
|
@ -65,6 +65,7 @@ set(kfileitemmodeltest_SRCS
|
|||
testdir.cpp
|
||||
../kitemviews/kfileitemmodel.cpp
|
||||
../kitemviews/kitemmodelbase.cpp
|
||||
../kitemviews/kitemset.cpp
|
||||
)
|
||||
kde4_add_unit_test(kfileitemmodeltest TEST ${kfileitemmodeltest_SRCS})
|
||||
target_link_libraries(kfileitemmodeltest dolphinprivate ${KDE4_KIO_LIBS} ${QT_QTTEST_LIBRARY})
|
||||
|
|
|
@ -93,6 +93,7 @@ private slots:
|
|||
void testChangeRolesForFilteredItems();
|
||||
void testChangeSortRoleWhileFiltering();
|
||||
void testRefreshFilteredItems();
|
||||
void testCreateMimeData();
|
||||
|
||||
private:
|
||||
QStringList itemsInModel() const;
|
||||
|
@ -1591,6 +1592,33 @@ void KFileItemModelTest::testRefreshFilteredItems()
|
|||
QCOMPARE(itemsInModel(), QStringList() << "a.txt" << "b.txt" << "d.jpg" << "e.jpg");
|
||||
}
|
||||
|
||||
void KFileItemModelTest::testCreateMimeData()
|
||||
{
|
||||
QSet<QByteArray> modelRoles = m_model->roles();
|
||||
modelRoles << "isExpanded" << "isExpandable" << "expandedParentsCount";
|
||||
m_model->setRoles(modelRoles);
|
||||
|
||||
QStringList files;
|
||||
files << "a/1";
|
||||
m_testDir->createFiles(files);
|
||||
|
||||
m_model->loadDirectory(m_testDir->url());
|
||||
QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
|
||||
QCOMPARE(itemsInModel(), QStringList() << "a");
|
||||
|
||||
// Expand "a/".
|
||||
m_model->setExpanded(0, true);
|
||||
QVERIFY(QTest::kWaitForSignal(m_model, SIGNAL(itemsInserted(KItemRangeList)), DefaultTimeout));
|
||||
QCOMPARE(itemsInModel(), QStringList() << "a" << "1");
|
||||
|
||||
// Verify that creating the MIME data for a child of an expanded folder does
|
||||
// not cause a crash, see https://bugs.kde.org/show_bug.cgi?id=329119
|
||||
KItemSet selection;
|
||||
selection.insert(1);
|
||||
QMimeData* mimeData = m_model->createMimeData(selection);
|
||||
delete mimeData;
|
||||
}
|
||||
|
||||
QStringList KFileItemModelTest::itemsInModel() const
|
||||
{
|
||||
QStringList items;
|
||||
|
|
Loading…
Reference in a new issue