diff options
author | Neil <nyamatongwe@gmail.com> | 2024-07-15 08:24:34 +1000 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2024-07-15 08:24:34 +1000 |
commit | afb7753dd17ab7195c5755bb30f572803e149855 (patch) | |
tree | f0e78bb48478925cca812e0fcf8f7fe73c9d1005 | |
parent | 85ca24bcdbfc2fb8d303646e5bd207b5b229b351 (diff) | |
download | scintilla-mirror-afb7753dd17ab7195c5755bb30f572803e149855.tar.gz |
Add copy and paste tests for rectangular- and multiple-selection and line-end
conversion.
-rw-r--r-- | test/simpleTests.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/test/simpleTests.py b/test/simpleTests.py index 67d8d4749..4f5b7251a 100644 --- a/test/simpleTests.py +++ b/test/simpleTests.py @@ -1881,6 +1881,7 @@ class TestMultiSelection(unittest.TestCase): self.ed.ClearAll() self.ed.EmptyUndoBuffer() # 3 lines of 3 characters + self.ed.EOLMode = self.ed.SC_EOL_CRLF t = b"xxx\nxxx\nxxx" self.ed.AddText(len(t), t) @@ -1959,6 +1960,52 @@ class TestMultiSelection(unittest.TestCase): self.assertEqual(self.ed.GetSelectionNAnchor(2), 9) self.assertEqual(self.ed.GetSelectionNCaret(2), 10) + def testRectangularCopy(self): + self.ed.RectangularSelectionAnchor = 1 + self.assertEqual(self.ed.RectangularSelectionAnchor, 1) + self.ed.RectangularSelectionCaret = 10 + self.assertEqual(self.ed.RectangularSelectionCaret, 10) + self.assertEqual(self.ed.Selections, 3) + self.ed.Copy() + self.ed.ClearAll() + self.ed.Paste() + # Single character slice with current line ends + result = b"x\r\nx\r\nx" + self.assertEqual(self.ed.Contents(), result) + + def testMultipleCopy(self): + self.ed.ClearAll() + t = b"abc\n123\nxyz" + self.ed.AddText(len(t), t) + self.ed.SetSelection(4, 5) # 1 + self.ed.AddSelection(1, 3) # bc + self.ed.AddSelection(10, 11) # z + self.ed.Copy() + # 1,bc,z + self.ed.ClearAll() + self.ed.Paste() + self.assertEqual(self.ed.Contents(), b"1bcz") + + def testPasteConversion(self): + # Test that line ends are converted to current mode + self.ed.SetSelection(0, 11) + self.ed.Copy() + + self.ed.ClearAll() + self.ed.EOLMode = self.ed.SC_EOL_CRLF + self.ed.Paste() + self.assertEqual(self.ed.Contents(), b"xxx\r\nxxx\r\nxxx") + + self.ed.ClearAll() + self.ed.EOLMode = self.ed.SC_EOL_CR + self.ed.Paste() + self.assertEqual(self.ed.Contents(), b"xxx\rxxx\rxxx") + + self.ed.ClearAll() + self.ed.EOLMode = self.ed.SC_EOL_LF + self.ed.Paste() + self.assertEqual(self.ed.Contents(), b"xxx\nxxx\nxxx") + def testVirtualSpace(self): self.ed.SetSelection(3, 7) self.ed.SetSelectionNCaretVirtualSpace(0, 3) |