┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/tests/kitemlistselectionmanagertest.cpp
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2014-04-29 21:44:46 +0200
committerFrank Reininghaus <[email protected]>2014-04-29 21:44:46 +0200
commiteddb62ac0c9cf2c37991401ea5332a7f334c05a9 (patch)
treed22b2e9c05d3fe8be3d8ba62d7e46ca5fa7ab380 /src/tests/kitemlistselectionmanagertest.cpp
parentae5bcfcdeece23915e7272af1046a7e71e269474 (diff)
parent5f29eec07572503679ca1dd354236065f33ff4a7 (diff)
Merge branch 'KDE/4.13'
Diffstat (limited to 'src/tests/kitemlistselectionmanagertest.cpp')
-rw-r--r--src/tests/kitemlistselectionmanagertest.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/tests/kitemlistselectionmanagertest.cpp b/src/tests/kitemlistselectionmanagertest.cpp
index af2610d8c..492d0234f 100644
--- a/src/tests/kitemlistselectionmanagertest.cpp
+++ b/src/tests/kitemlistselectionmanagertest.cpp
@@ -78,6 +78,7 @@ private slots:
void testChangeSelection();
void testDeleteCurrentItem_data();
void testDeleteCurrentItem();
+ void testAnchoredSelectionAfterMovingItems();
private:
void verifySelectionChange(QSignalSpy& spy, const KItemSet& currentSelection, const KItemSet& previousSelection) const;
@@ -413,6 +414,15 @@ void KItemListSelectionManagerTest::testChangeSelection_data()
<< QVariant::fromValue(QList<int>() << 4 << 5 << 2 << 3))
<< (KItemSet() << 0 << 1 << 4 << 5);
+ QTest::newRow("Move items with active anchored selection")
+ << KItemSet()
+ << 0 << 3
+ << (KItemSet() << 0 << 1 << 2 << 3)
+ << MoveItems
+ << (QList<QVariant>() << QVariant::fromValue(KItemRange(2, 4))
+ << QVariant::fromValue(QList<int>() << 4 << 5 << 2 << 3))
+ << (KItemSet() << 0 << 1 << 4 << 5);
+
// Revert sort order
QTest::newRow("Revert sort order")
<< (KItemSet() << 0 << 1)
@@ -519,6 +529,22 @@ void KItemListSelectionManagerTest::testDeleteCurrentItem()
QCOMPARE(m_selectionManager->currentItem(), newCurrentItemIndex);
}
+void KItemListSelectionManagerTest::testAnchoredSelectionAfterMovingItems()
+{
+ m_selectionManager->setCurrentItem(4);
+ m_selectionManager->beginAnchoredSelection(4);
+
+ // Reverse the items between 0 and 5.
+ m_selectionManager->itemsMoved(KItemRange(0, 6), QList<int>() << 5 << 4 << 3 << 2 << 1 << 0);
+
+ QCOMPARE(m_selectionManager->currentItem(), 1);
+ QCOMPARE(m_selectionManager->m_anchorItem, 1);
+
+ // Make 2 the current item -> 1 and 2 should be selected.
+ m_selectionManager->setCurrentItem(2);
+ QCOMPARE(m_selectionManager->selectedItems(), KItemSet() << 1 << 2);
+}
+
void KItemListSelectionManagerTest::verifySelectionChange(QSignalSpy& spy,
const KItemSet& currentSelection,
const KItemSet& previousSelection) const