┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/tests/kitemlistselectionmanagertest.cpp
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2011-08-14 11:05:19 +0200
committerFrank Reininghaus <[email protected]>2011-08-14 11:05:19 +0200
commit7b911df33ec83bb978985d50342ce1c27afb6425 (patch)
tree54f39f397d436d491ac4a79eafefb34d7ea3824c /src/tests/kitemlistselectionmanagertest.cpp
parent98e859b0c31b0071a5bda673035e0ba39e7169bb (diff)
Two small selection improvements in DolphinView
1. Implement DolphinView::clearSelection(). 2. Simplify DolphinView::invertSelection(). I found, fixed, and unit-tested a bug in the selection manager which was uncovered by this change.
Diffstat (limited to 'src/tests/kitemlistselectionmanagertest.cpp')
-rw-r--r--src/tests/kitemlistselectionmanagertest.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/tests/kitemlistselectionmanagertest.cpp b/src/tests/kitemlistselectionmanagertest.cpp
index 7f79332a3..5a3ffd55c 100644
--- a/src/tests/kitemlistselectionmanagertest.cpp
+++ b/src/tests/kitemlistselectionmanagertest.cpp
@@ -315,7 +315,8 @@ namespace {
NoChange,
InsertItems,
RemoveItems,
- EndAnchoredSelection
+ EndAnchoredSelection,
+ ToggleSelected
};
}
@@ -360,6 +361,13 @@ void KItemListSelectionManagerTest::testChangeSelection_data()
<< QSet<int>()
<< EndAnchoredSelection << KItemRangeList()
<< QSet<int>();
+
+ QTest::newRow("Toggle selection")
+ << (QSet<int>() << 1 << 3 << 4)
+ << 6 << 8
+ << (QSet<int>() << 1 << 3 << 4 << 6 << 7 << 8)
+ << ToggleSelected << (KItemRangeList() << KItemRange(0, 10))
+ << (QSet<int>() << 0 << 2 << 5 << 9);
}
void KItemListSelectionManagerTest::testChangeSelection()
@@ -423,6 +431,11 @@ void KItemListSelectionManagerTest::testChangeSelection()
m_selectionManager->endAnchoredSelection();
QVERIFY(!m_selectionManager->isAnchoredSelectionActive());
break;
+ case ToggleSelected:
+ foreach(const KItemRange& range, changedItems) {
+ m_selectionManager->setSelected(range.index, range.count, KItemListSelectionManager::Toggle);
+ }
+ break;
case NoChange:
break;
}