From cb8cd73d839a96f98bb1ce887c694271f9c24788 Mon Sep 17 00:00:00 2001 From: Neil Date: Tue, 22 Nov 2022 09:24:07 +1100 Subject: Add SCI_REPLACETARGETMINIMAL to change text without causing unchanged prefix and suffix to be marked as modified in change history. --- test/simpleTests.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'test/simpleTests.py') 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 -- cgit v1.2.3