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") |