aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/simpleTests.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/simpleTests.py')
-rw-r--r--test/simpleTests.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/simpleTests.py b/test/simpleTests.py
index 03deb566d..bf8a4f786 100644
--- a/test/simpleTests.py
+++ b/test/simpleTests.py
@@ -1382,6 +1382,40 @@ class TestMultiSelection(unittest.TestCase):
self.assertEquals(self.ed.GetSelectionNAnchorVirtualSpace(0), 0)
self.assertEquals(self.ed.GetSelectionNCaret(0), 3)
self.assertEquals(self.ed.GetSelectionNCaretVirtualSpace(0), 0)
+
+ def testDropSelectionN(self):
+ self.ed.SetSelection(1, 2)
+ # Only one so dropping has no effect
+ self.ed.DropSelectionN(0)
+ self.assertEquals(self.ed.Selections, 1)
+ self.ed.AddSelection(4, 5)
+ self.assertEquals(self.ed.Selections, 2)
+ # Outside bounds so no effect
+ self.ed.DropSelectionN(2)
+ self.assertEquals(self.ed.Selections, 2)
+ # Dropping before main so main decreases
+ self.ed.DropSelectionN(0)
+ self.assertEquals(self.ed.Selections, 1)
+ self.assertEquals(self.ed.MainSelection, 0)
+ self.assertEquals(self.ed.GetSelectionNCaret(0), 4)
+ self.assertEquals(self.ed.GetSelectionNAnchor(0), 5)
+
+ self.ed.AddSelection(10, 11)
+ self.ed.AddSelection(20, 21)
+ self.assertEquals(self.ed.Selections, 3)
+ self.assertEquals(self.ed.MainSelection, 2)
+ self.ed.MainSelection = 1
+ # Dropping after main so main does not change
+ self.ed.DropSelectionN(2)
+ self.assertEquals(self.ed.MainSelection, 1)
+
+ # Dropping first selection so wraps around to new last.
+ self.ed.AddSelection(30, 31)
+ self.ed.AddSelection(40, 41)
+ self.assertEquals(self.ed.Selections, 4)
+ self.ed.MainSelection = 0
+ self.ed.DropSelectionN(0)
+ self.assertEquals(self.ed.MainSelection, 2)
class TestCharacterNavigation(unittest.TestCase):
def setUp(self):