aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/simpleTests.py
diff options
context:
space:
mode:
authornyamatongwe <devnull@localhost>2012-09-12 13:44:09 +1000
committernyamatongwe <devnull@localhost>2012-09-12 13:44:09 +1000
commit75bed4f0a73a0ef3a0d69026f21bc280b2232513 (patch)
tree6a9d3cfe610f0f6c16fb0d47e406bdff5625a340 /test/simpleTests.py
parent580fe992b298ebe0dda18b1d286b0a06bc7d5e3b (diff)
downloadscintilla-mirror-75bed4f0a73a0ef3a0d69026f21bc280b2232513.tar.gz
Fix bug where removing all characters from indicator at end of document did
not remove that run causing iteration over the indicator to hang.
Diffstat (limited to 'test/simpleTests.py')
-rw-r--r--test/simpleTests.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/test/simpleTests.py b/test/simpleTests.py
index 19de59a4e..275409a22 100644
--- a/test/simpleTests.py
+++ b/test/simpleTests.py
@@ -737,6 +737,39 @@ class TestIndicators(unittest.TestCase):
self.assertEquals(self.ed.IndicGetStyle(0), 2)
self.assertEquals(self.ed.IndicGetFore(0), 0xff0080)
+ def testIndicatorFill(self):
+ self.ed.InsertText(0, b"abc")
+ self.ed.IndicatorCurrent = 3
+ self.ed.IndicatorFillRange(1,1)
+ self.assertEquals(self.ed.IndicatorValueAt(3, 0), 0)
+ self.assertEquals(self.ed.IndicatorValueAt(3, 1), 1)
+ self.assertEquals(self.ed.IndicatorValueAt(3, 2), 0)
+ self.assertEquals(self.ed.IndicatorStart(3, 0), 0)
+ self.assertEquals(self.ed.IndicatorEnd(3, 0), 1)
+ self.assertEquals(self.ed.IndicatorStart(3, 1), 1)
+ self.assertEquals(self.ed.IndicatorEnd(3, 1), 2)
+ self.assertEquals(self.ed.IndicatorStart(3, 2), 2)
+ self.assertEquals(self.ed.IndicatorEnd(3, 2), 3)
+
+ def testIndicatorAtEnd(self):
+ self.ed.InsertText(0, b"ab")
+ self.ed.IndicatorCurrent = 3
+ self.ed.IndicatorFillRange(1,1)
+ self.assertEquals(self.ed.IndicatorValueAt(3, 0), 0)
+ self.assertEquals(self.ed.IndicatorValueAt(3, 1), 1)
+ self.assertEquals(self.ed.IndicatorStart(3, 0), 0)
+ self.assertEquals(self.ed.IndicatorEnd(3, 0), 1)
+ self.assertEquals(self.ed.IndicatorStart(3, 1), 1)
+ self.assertEquals(self.ed.IndicatorEnd(3, 1), 2)
+ self.ed.DeleteRange(1, 1)
+ # Now only one character left and does not have indicator so indicator 3 is null
+ self.assertEquals(self.ed.IndicatorValueAt(3, 0), 0)
+ # Since null, remaining calls return 0
+ self.assertEquals(self.ed.IndicatorStart(3, 0), 0)
+ self.assertEquals(self.ed.IndicatorEnd(3, 0), 0)
+ self.assertEquals(self.ed.IndicatorStart(3, 1), 0)
+ self.assertEquals(self.ed.IndicatorEnd(3, 1), 0)
+
class TestScrolling(unittest.TestCase):
def setUp(self):