diff options
author | Neil <nyamatongwe@gmail.com> | 2019-11-26 09:09:26 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2019-11-26 09:09:26 +1100 |
commit | b08335168f56212c7d9ae9f236f8fac0746ba090 (patch) | |
tree | 36303cf702a28930e0737511dead85440e630a4f /test/simpleTests.py | |
parent | 86a71cac683e04357bf689817053b60c6b5798d1 (diff) | |
download | scintilla-mirror-b08335168f56212c7d9ae9f236f8fac0746ba090.tar.gz |
Bug [#2140]. Fix where anchor and caret differ only in amount of virtual space
so one was considered start and was moved for an insertion at that position.
This could flip the order of the positions or change the length of the selection.
Diffstat (limited to 'test/simpleTests.py')
-rw-r--r-- | test/simpleTests.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/simpleTests.py b/test/simpleTests.py index f56066690..1ede72da3 100644 --- a/test/simpleTests.py +++ b/test/simpleTests.py @@ -1665,6 +1665,24 @@ class TestMultiSelection(unittest.TestCase): self.assertEquals(self.ed.Contents(), b'a1') self.assertEquals(self.textOfSelection(0), b'') + def testInsertThroughVirtualSpace(self): + self.ed.SetContents(b"a") + self.ed.SetSelection(1, 1) + self.ed.SetSelectionNAnchorVirtualSpace(0, 2) + self.ed.SetSelectionNCaretVirtualSpace(0, 3) + self.assertEquals(self.selectionRepresentation(0), "1+2v-1+3v") + self.assertEquals(self.textOfSelection(0), b'') + + # Append '1' past current virtual space + self.ed.SetTargetRange(1, 1) + self.ed.SetTargetStartVirtualSpace(4) + self.ed.SetTargetEndVirtualSpace(5) + self.ed.ReplaceTarget(1, b'1') + # Virtual space of selection all converted to real positions + self.assertEquals(self.selectionRepresentation(0), "3-4") + self.assertEquals(self.ed.Contents(), b'a 1') + self.assertEquals(self.textOfSelection(0), b' ') + class TestModalSelection(unittest.TestCase): |