diff options
| author | nyamatongwe <devnull@localhost> | 2009-05-12 23:39:51 +0000 | 
|---|---|---|
| committer | nyamatongwe <devnull@localhost> | 2009-05-12 23:39:51 +0000 | 
| commit | 2642c1da70d5f1e26fda2cfee0deb2fa88b43b71 (patch) | |
| tree | a554b9ac64e53a35379ae6e6a7d3160ac293a4de /test/performanceTests.py | |
| parent | b529c73475f04af4f687a0d9b1328581734728ae (diff) | |
| download | scintilla-mirror-2642c1da70d5f1e26fda2cfee0deb2fa88b43b71.tar.gz | |
Include tests in standard repository.
Diffstat (limited to 'test/performanceTests.py')
| -rw-r--r-- | test/performanceTests.py | 84 | 
1 files changed, 84 insertions, 0 deletions
| diff --git a/test/performanceTests.py b/test/performanceTests.py new file mode 100644 index 000000000..ed0550558 --- /dev/null +++ b/test/performanceTests.py @@ -0,0 +1,84 @@ +# -*- coding: utf-8 -*- + +from __future__ import with_statement + +import os, string, time, unittest + +import XiteWin + +class TestPerformance(unittest.TestCase): + +	def setUp(self): +		self.xite = XiteWin.xiteFrame +		self.ed = self.xite.ed +		self.ed.ClearAll() +		self.ed.EmptyUndoBuffer() + +	def testAddLine(self): +		data = (string.ascii_letters + string.digits + "\n").encode('utf-8') +		start = time.time() +		for i in range(500): +			self.ed.AddText(len(data), data) +			self.assertEquals(self.ed.LineCount, i + 2) +		end = time.time() +		duration = end - start +		print("%6.3f testAddLine" % duration) +		self.xite.DoEvents() +		self.assert_(self.ed.Length > 0) + +	def testAddLineMiddle(self): +		data = (string.ascii_letters + string.digits + "\n").encode('utf-8') +		start = time.time() +		for i in range(500): +			self.ed.AddText(len(data), data) +			self.assertEquals(self.ed.LineCount, i + 2) +		end = time.time() +		duration = end - start +		print("%6.3f testAddLineMiddle" % duration) +		self.xite.DoEvents() +		self.assert_(self.ed.Length > 0) + +	def testHuge(self): +		data = (string.ascii_letters + string.digits + "\n").encode('utf-8') +		data = data * 100000 +		print("len is", len(data)) +		start = time.time() +		self.ed.AddText(len(data), data) +		end = time.time() +		duration = end - start +		print("%6.3f testHuge" % duration) +		self.xite.DoEvents() +		self.assert_(self.ed.Length > 0) + +	def testHugeInserts(self): +		data = (string.ascii_letters + string.digits + "\n").encode('utf-8') +		data = data * 100000 +		insert = (string.digits + "\n").encode('utf-8') +		self.ed.AddText(len(data), data) +		start = time.time() +		for i in range(500): +			self.ed.InsertText(0, insert) +		end = time.time() +		duration = end - start +		print("%6.3f testHugeInserts" % duration) +		self.xite.DoEvents() +		self.assert_(self.ed.Length > 0) + +	def testHugeReplace(self): +		oneLine = (string.ascii_letters + string.digits + "\n").encode('utf-8') +		data = oneLine * 100000 +		insert = (string.digits + "\n").encode('utf-8') +		self.ed.AddText(len(data), data) +		start = time.time() +		for i in range(500): +			self.ed.TargetStart = i * len(insert) +			self.ed.TargetEnd = self.ed.TargetStart + len(oneLine) +			self.ed.ReplaceTarget(len(insert), insert) +		end = time.time() +		duration = end - start +		print("%6.3f testHugeReplace" % duration) +		self.xite.DoEvents() +		self.assert_(self.ed.Length > 0) + +if __name__ == '__main__': +	XiteWin.main("performanceTests") | 
