aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2022-11-22 09:24:07 +1100
committerNeil <nyamatongwe@gmail.com>2022-11-22 09:24:07 +1100
commitcb8cd73d839a96f98bb1ce887c694271f9c24788 (patch)
tree1920fae848da38e7942ea9a36c21f87272254e23 /test
parentb3e46461ce564d295b629a1d16dc4cee60722e66 (diff)
downloadscintilla-mirror-cb8cd73d839a96f98bb1ce887c694271f9c24788.tar.gz
Add SCI_REPLACETARGETMINIMAL to change text without causing unchanged prefix and
suffix to be marked as modified in change history.
Diffstat (limited to 'test')
-rw-r--r--test/simpleTests.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/test/simpleTests.py b/test/simpleTests.py
index 2b5d3bc0e..31ae42535 100644
--- a/test/simpleTests.py
+++ b/test/simpleTests.py
@@ -634,6 +634,45 @@ class TestSimple(unittest.TestCase):
self.assertEquals(self.ed.TargetStart, 4)
self.assertEquals(self.ed.TargetEnd, 5)
+ def testReplaceTargetMinimal(self):
+ # 1: No common characters
+ self.ed.SetContents(b"abcd")
+ self.ed.TargetStart = 1
+ self.ed.TargetEnd = 3
+ self.assertEquals(self.ed.TargetStart, 1)
+ self.assertEquals(self.ed.TargetEnd, 3)
+ rep = b"321"
+ self.ed.ReplaceTargetMinimal(len(rep), rep)
+ self.assertEquals(self.ed.Contents(), b"a321d")
+
+ # 2: New characters with common prefix and suffix
+ self.ed.TargetStart = 1
+ self.ed.TargetEnd = 4
+ rep = b"3<>1"
+ self.ed.ReplaceTargetMinimal(len(rep), rep)
+ self.assertEquals(self.ed.Contents(), b"a3<>1d")
+
+ # 3: Remove characters with common prefix and suffix
+ self.ed.TargetStart = 1
+ self.ed.TargetEnd = 5
+ rep = b"31"
+ self.ed.ReplaceTargetMinimal(len(rep), rep)
+ self.assertEquals(self.ed.Contents(), b"a31d")
+
+ # 4: Common prefix
+ self.ed.TargetStart = 1
+ self.ed.TargetEnd = 3
+ rep = b"3bc"
+ self.ed.ReplaceTargetMinimal(len(rep), rep)
+ self.assertEquals(self.ed.Contents(), b"a3bcd")
+
+ # 5: Common suffix
+ self.ed.TargetStart = 2
+ self.ed.TargetEnd = 5
+ rep = b"cd"
+ self.ed.ReplaceTargetMinimal(len(rep), rep)
+ self.assertEquals(self.ed.Contents(), b"a3cd")
+
def testTargetWhole(self):
self.ed.SetContents(b"abcd")
self.ed.TargetStart = 1