diff options
Diffstat (limited to 'test/simpleTests.py')
| -rw-r--r-- | test/simpleTests.py | 74 | 
1 files changed, 74 insertions, 0 deletions
| diff --git a/test/simpleTests.py b/test/simpleTests.py index 67299e661..590d288b8 100644 --- a/test/simpleTests.py +++ b/test/simpleTests.py @@ -2042,6 +2042,80 @@ class TestWordChars(unittest.TestCase):  		data = self.ed.GetPunctuationChars(None)  		self.assertCharSetsEqual(data, expected) +class TestExplicitTabStops(unittest.TestCase): + +	def setUp(self): +		self.xite = Xite.xiteFrame +		self.ed = self.xite.ed +		self.ed.ClearAll() +		self.ed.EmptyUndoBuffer() +		# 2 lines of 4 characters +		self.t = b"fun(\nint)" +		self.ed.AddText(len(self.t), self.t) + +	def testAddingAndClearing(self): +		self.assertEquals(self.ed.GetNextTabStop(0,0), 0) + +		# Add a tab stop at 7 +		self.ed.AddTabStop(0, 7) +		# Check added +		self.assertEquals(self.ed.GetNextTabStop(0,0), 7) +		# Check does not affect line 1 +		self.assertEquals(self.ed.GetNextTabStop(1,0), 0) + +		# Add a tab stop at 18 +		self.ed.AddTabStop(0, 18) +		# Check added +		self.assertEquals(self.ed.GetNextTabStop(0,0), 7) +		self.assertEquals(self.ed.GetNextTabStop(0,7), 18) +		# Check does not affect line 1 +		self.assertEquals(self.ed.GetNextTabStop(1,0), 0) +		self.assertEquals(self.ed.GetNextTabStop(1,7), 0) + +		# Add a tab stop between others at 13 +		self.ed.AddTabStop(0, 13) +		# Check added +		self.assertEquals(self.ed.GetNextTabStop(0,0), 7) +		self.assertEquals(self.ed.GetNextTabStop(0,7), 13) +		self.assertEquals(self.ed.GetNextTabStop(0,13), 18) +		# Check does not affect line 1 +		self.assertEquals(self.ed.GetNextTabStop(1,0), 0) +		self.assertEquals(self.ed.GetNextTabStop(1,7), 0) + +		self.ed.ClearTabStops(0) +		# Check back to original state +		self.assertEquals(self.ed.GetNextTabStop(0,0), 0) + +	def testLineInsertionDeletion(self): +		# Add a tab stop at 7 on line 1 +		self.ed.AddTabStop(1, 7) +		# Check added +		self.assertEquals(self.ed.GetNextTabStop(1,0), 7) + +		# More text at end +		self.ed.AddText(len(self.t), self.t) +		self.assertEquals(self.ed.GetNextTabStop(0,0), 0) +		self.assertEquals(self.ed.GetNextTabStop(1,0), 7) +		self.assertEquals(self.ed.GetNextTabStop(2,0), 0) +		self.assertEquals(self.ed.GetNextTabStop(3,0), 0) + +		# Another 2 lines before explicit line moves the explicit tab stop +		data = b"x\ny\n" +		self.ed.InsertText(4, data) +		self.assertEquals(self.ed.GetNextTabStop(0,0), 0) +		self.assertEquals(self.ed.GetNextTabStop(1,0), 0) +		self.assertEquals(self.ed.GetNextTabStop(2,0), 0) +		self.assertEquals(self.ed.GetNextTabStop(3,0), 7) +		self.assertEquals(self.ed.GetNextTabStop(4,0), 0) +		self.assertEquals(self.ed.GetNextTabStop(5,0), 0) + +		# Undo moves the explicit tab stop back +		self.ed.Undo() +		self.assertEquals(self.ed.GetNextTabStop(0,0), 0) +		self.assertEquals(self.ed.GetNextTabStop(1,0), 7) +		self.assertEquals(self.ed.GetNextTabStop(2,0), 0) +		self.assertEquals(self.ed.GetNextTabStop(3,0), 0) +  if __name__ == '__main__':  	uu = Xite.main("simpleTests")  	#~ for x in sorted(uu.keys()): | 
