aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/simpleTests.py
diff options
context:
space:
mode:
authorIain Clarke <unknown>2020-04-08 09:27:43 +1000
committerIain Clarke <unknown>2020-04-08 09:27:43 +1000
commitb8369870e15d4b061ec5d67d0cfbfe04d3a6459f (patch)
tree41276956ec5d67485a560a1218bfa0a9325e11e7 /test/simpleTests.py
parent4a1cfeae9b35bbb3639c3f48d3bf5ec17a6aa77f (diff)
downloadscintilla-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.py39
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))