aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2024-07-15 08:24:34 +1000
committerNeil <nyamatongwe@gmail.com>2024-07-15 08:24:34 +1000
commitafb7753dd17ab7195c5755bb30f572803e149855 (patch)
treef0e78bb48478925cca812e0fcf8f7fe73c9d1005
parent85ca24bcdbfc2fb8d303646e5bd207b5b229b351 (diff)
downloadscintilla-mirror-afb7753dd17ab7195c5755bb30f572803e149855.tar.gz
Add copy and paste tests for rectangular- and multiple-selection and line-end
conversion.
-rw-r--r--test/simpleTests.py47
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)