diff options
author | Iain Clarke <unknown> | 2020-04-08 09:27:43 +1000 |
---|---|---|
committer | Iain Clarke <unknown> | 2020-04-08 09:27:43 +1000 |
commit | b8369870e15d4b061ec5d67d0cfbfe04d3a6459f (patch) | |
tree | 41276956ec5d67485a560a1218bfa0a9325e11e7 /test/simpleTests.py | |
parent | 4a1cfeae9b35bbb3639c3f48d3bf5ec17a6aa77f (diff) | |
download | scintilla-mirror-b8369870e15d4b061ec5d67d0cfbfe04d3a6459f.tar.gz |
Feature [feature-requests:1344]. Add methods for iterating through the marker
handles and marker numbers on a line.
Diffstat (limited to 'test/simpleTests.py')
-rw-r--r-- | test/simpleTests.py | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/test/simpleTests.py b/test/simpleTests.py index 1ede72da3..7b4bfcaf2 100644 --- a/test/simpleTests.py +++ b/test/simpleTests.py @@ -1000,6 +1000,39 @@ class TestMarkers(unittest.TestCase): self.ed.MarkerDefine(1,3) self.assertEquals(self.ed.MarkerSymbolDefined(1), 3) + def markerFromLineIndex(self, line, index): + """ Helper that returns (handle, number) """ + return (self.ed.MarkerHandleFromLine(line, index), self.ed.MarkerNumberFromLine(line, index)) + + def markerSetFromLine(self, line): + """ Helper that returns set of (handle, number) """ + markerSet = set() + index = 0 + while 1: + marker = self.markerFromLineIndex(line, index) + if marker[0] == -1: + return markerSet + markerSet.add(marker) + index += 1 + + def testMarkerFromLine(self): + self.assertEquals(self.ed.MarkerHandleFromLine(1, 0), -1) + self.assertEquals(self.ed.MarkerNumberFromLine(1, 0), -1) + self.assertEquals(self.markerFromLineIndex(1, 0), (-1, -1)) + self.assertEquals(self.markerSetFromLine(1), set()) + + handle = self.ed.MarkerAdd(1,10) + self.assertEquals(self.markerFromLineIndex(1, 0), (handle, 10)) + self.assertEquals(self.markerFromLineIndex(1, 1), (-1, -1)) + self.assertEquals(self.markerSetFromLine(1), {(handle, 10)}) + + handle2 = self.ed.MarkerAdd(1,11) + # Don't want to depend on ordering so check as sets + self.assertEquals(self.markerSetFromLine(1), {(handle, 10), (handle2, 11)}) + + self.ed.MarkerDeleteHandle(handle2) + self.assertEquals(self.markerSetFromLine(1), {(handle, 10)}) + class TestIndicators(unittest.TestCase): def setUp(self): @@ -1053,7 +1086,7 @@ class TestIndicators(unittest.TestCase): def testIndicatorMovement(self): # Create a two character indicator over "BC" in "aBCd" and ensure that it doesn't - # leak onto surrounding characters when insertions made at either end but + # leak onto surrounding characters when insertions made at either end but # insertion inside indicator does extend length self.ed.InsertText(0, b"aBCd") self.ed.IndicatorCurrent = 3 @@ -1398,7 +1431,7 @@ class TestMultiSelection(unittest.TestCase): # 3 lines of 3 characters t = b"xxx\nxxx\nxxx" self.ed.AddText(len(t), t) - + def textOfSelection(self, n): self.ed.TargetStart = self.ed.GetSelectionNStart(n) self.ed.TargetEnd = self.ed.GetSelectionNEnd(n) @@ -1605,7 +1638,7 @@ class TestMultiSelection(unittest.TestCase): self.assertEquals(self.ed.Selections, 2) self.assertEquals(self.textOfSelection(0), texts[1]) self.assertEquals(self.textOfSelection(1), texts[0]) - + def selectionRepresentation(self, n): anchor = (self.ed.GetSelectionNAnchor(0), self.ed.GetSelectionNAnchorVirtualSpace(0)) caret = (self.ed.GetSelectionNCaret(0), self.ed.GetSelectionNCaretVirtualSpace(0)) |