diff options
author | Mitchell Foral <unknown> | 2018-02-24 15:43:07 +1100 |
---|---|---|
committer | Mitchell Foral <unknown> | 2018-02-24 15:43:07 +1100 |
commit | d6240c4eb04f72f5e6f26d7acf1927939ede017c (patch) | |
tree | 786a9c7f392148f7496792a512c6a83bede437e2 /test/simpleTests.py | |
parent | 62eda0dd434cae09f22f3cdf6988fc77b5c537e6 (diff) | |
download | scintilla-mirror-d6240c4eb04f72f5e6f26d7acf1927939ede017c.tar.gz |
Fix move-extends-selection mode for rectangular and line selections.
Diffstat (limited to 'test/simpleTests.py')
-rw-r--r-- | test/simpleTests.py | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/test/simpleTests.py b/test/simpleTests.py index 62243dd49..3ff283dad 100644 --- a/test/simpleTests.py +++ b/test/simpleTests.py @@ -1466,6 +1466,88 @@ class TestMultiSelection(unittest.TestCase): self.ed.DropSelectionN(0) self.assertEquals(self.ed.MainSelection, 2) +class TestModalSelection(unittest.TestCase): + + def setUp(self): + self.xite = Xite.xiteFrame + self.ed = self.xite.ed + self.ed.ClearAll() + self.ed.EmptyUndoBuffer() + # 3 lines of 3 characters + t = b"xxx\nxxx\nxxx" + self.ed.AddText(len(t), t) + + def testCharacterSelection(self): + self.ed.SetSelection(1, 1) + self.assertEquals(self.ed.Selections, 1) + self.assertEquals(self.ed.MainSelection, 0) + self.assertEquals(self.ed.GetSelectionNCaret(0), 1) + self.assertEquals(self.ed.GetSelectionNAnchor(0), 1) + self.ed.SelectionMode = self.ed.SC_SEL_STREAM + self.assertEquals(self.ed.Selections, 1) + self.assertEquals(self.ed.MainSelection, 0) + self.assertEquals(self.ed.GetSelectionNCaret(0), 1) + self.assertEquals(self.ed.GetSelectionNAnchor(0), 1) + self.ed.CharRight() + self.assertEquals(self.ed.Selections, 1) + self.assertEquals(self.ed.MainSelection, 0) + self.assertEquals(self.ed.GetSelectionNCaret(0), 2) + self.assertEquals(self.ed.GetSelectionNAnchor(0), 1) + self.ed.LineDown() + self.assertEquals(self.ed.Selections, 1) + self.assertEquals(self.ed.MainSelection, 0) + self.assertEquals(self.ed.GetSelectionNCaret(0), 6) + self.assertEquals(self.ed.GetSelectionNAnchor(0), 1) + self.ed.ClearSelections() + + def testRectangleSelection(self): + self.ed.SetSelection(1, 1) + self.assertEquals(self.ed.Selections, 1) + self.assertEquals(self.ed.MainSelection, 0) + self.assertEquals(self.ed.GetSelectionNCaret(0), 1) + self.assertEquals(self.ed.GetSelectionNAnchor(0), 1) + self.ed.SelectionMode = self.ed.SC_SEL_RECTANGLE + self.assertEquals(self.ed.Selections, 1) + self.assertEquals(self.ed.MainSelection, 0) + self.assertEquals(self.ed.GetSelectionNCaret(0), 1) + self.assertEquals(self.ed.GetSelectionNAnchor(0), 1) + self.ed.CharRight() + self.assertEquals(self.ed.Selections, 1) + self.assertEquals(self.ed.MainSelection, 0) + self.assertEquals(self.ed.GetSelectionNCaret(0), 2) + self.assertEquals(self.ed.GetSelectionNAnchor(0), 1) + self.ed.LineDown() + self.assertEquals(self.ed.Selections, 2) + self.assertEquals(self.ed.MainSelection, 1) + self.assertEquals(self.ed.GetSelectionNCaret(0), 2) + self.assertEquals(self.ed.GetSelectionNAnchor(0), 1) + self.assertEquals(self.ed.GetSelectionNCaret(1), 6) + self.assertEquals(self.ed.GetSelectionNAnchor(1), 5) + self.ed.ClearSelections() + + def testLinesSelection(self): + self.ed.SetSelection(1, 1) + self.assertEquals(self.ed.Selections, 1) + self.assertEquals(self.ed.MainSelection, 0) + self.assertEquals(self.ed.GetSelectionNCaret(0), 1) + self.assertEquals(self.ed.GetSelectionNAnchor(0), 1) + self.ed.SelectionMode = self.ed.SC_SEL_LINES + self.assertEquals(self.ed.Selections, 1) + self.assertEquals(self.ed.MainSelection, 0) + self.assertEquals(self.ed.GetSelectionNCaret(0), 0) + self.assertEquals(self.ed.GetSelectionNAnchor(0), 3) + self.ed.CharRight() + self.assertEquals(self.ed.Selections, 1) + self.assertEquals(self.ed.MainSelection, 0) + self.assertEquals(self.ed.GetSelectionNCaret(0), 0) + self.assertEquals(self.ed.GetSelectionNAnchor(0), 3) + self.ed.LineDown() + self.assertEquals(self.ed.Selections, 1) + self.assertEquals(self.ed.MainSelection, 0) + self.assertEquals(self.ed.GetSelectionNCaret(0), 7) + self.assertEquals(self.ed.GetSelectionNAnchor(0), 0) + self.ed.ClearSelections() + class TestStyleAttributes(unittest.TestCase): """ These tests are just to ensure that the calls set and retrieve values. They do not check the visual appearance of the style attributes. |