aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/simpleTests.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/simpleTests.py')
-rw-r--r--test/simpleTests.py120
1 files changed, 32 insertions, 88 deletions
diff --git a/test/simpleTests.py b/test/simpleTests.py
index 9b99344f0..4835e2f69 100644
--- a/test/simpleTests.py
+++ b/test/simpleTests.py
@@ -109,10 +109,8 @@ class TestSimple(unittest.TestCase):
self.ed.SetSel(1, 3)
self.assertEquals(self.ed.SelectionStart, 1)
self.assertEquals(self.ed.SelectionEnd, 3)
- result = b"\0" * 5
- length = self.ed.GetSelText(0, result)
- self.assertEquals(length, 3)
- self.assertEquals(result[:length], b"bc\0")
+ result = self.ed.GetSelText(0)
+ self.assertEquals(result, b"bc\0")
self.ed.ReplaceSel(0, b"1234")
self.assertEquals(self.ed.Length, 6)
self.assertEquals(self.ed.Contents(), b"a1234d")
@@ -253,19 +251,16 @@ class TestSimple(unittest.TestCase):
def testGetCurLine(self):
self.ed.AddText(1, b"x")
- data = b"\0" * 100
+ data = ctypes.create_string_buffer(b"\0" * 100)
caret = self.ed.GetCurLine(len(data), data)
- data = data.rstrip(b"\0")
self.assertEquals(caret, 1)
- self.assertEquals(data, b"x")
+ self.assertEquals(data.value, b"x")
def testGetLine(self):
self.ed.AddText(1, b"x")
- data = b"\0" * 100
- length = self.ed.GetLine(0, data)
- self.assertEquals(length, 1)
- data = data[:length]
- self.assertEquals(data, b"x")
+ data = ctypes.create_string_buffer(b"\0" * 100)
+ self.ed.GetLine(0, data)
+ self.assertEquals(data.value, b"x")
def testLineEnds(self):
self.ed.AddText(3, b"x\ny")
@@ -529,10 +524,9 @@ class TestSimple(unittest.TestCase):
def testGetSet(self):
self.ed.SetText(0, b"abc")
self.assertEquals(self.ed.TextLength, 3)
- result = b"\0" * 5
+ result = ctypes.create_string_buffer(b"\0" * 5)
length = self.ed.GetText(4, result)
- result = result[:length]
- self.assertEquals(result, b"abc")
+ self.assertEquals(result.value, b"abc")
def testAppend(self):
self.ed.SetText(0, b"abc")
@@ -558,9 +552,7 @@ class TestSimple(unittest.TestCase):
searchString = b"\([1-9]+\)"
pos = self.ed.SearchInTarget(len(searchString), searchString)
self.assertEquals(1, pos)
- tagString = b"abcdefghijklmnop"
- lenTag = self.ed.GetTag(1, tagString)
- tagString = tagString[:lenTag]
+ tagString = self.ed.GetTag(1)
self.assertEquals(tagString, b"321")
rep = b"\\1"
self.ed.TargetStart = 0
@@ -1114,14 +1106,10 @@ class TestProperties(unittest.TestCase):
def testSet(self):
self.ed.SetProperty(b"test", b"12")
self.assertEquals(self.ed.GetPropertyInt(b"test"), 12)
- result = b"\0" * 10
- length = self.ed.GetProperty(b"test", result)
- result = result[:length]
+ result = self.ed.GetProperty(b"test")
self.assertEquals(result, b"12")
self.ed.SetProperty(b"test.plus", b"[$(test)]")
- result = b"\0" * 10
- length = self.ed.GetPropertyExpanded(b"test.plus", result)
- result = result[:length]
+ result = self.ed.GetPropertyExpanded(b"test.plus")
self.assertEquals(result, b"[12]")
class TestTextMargin(unittest.TestCase):
@@ -1150,9 +1138,7 @@ class TestTextMargin(unittest.TestCase):
def testTextMargin(self):
self.ed.MarginSetText(0, self.txt)
- result = b"\0" * 10
- length = self.ed.MarginGetText(0, result)
- result = result[:length]
+ result = self.ed.MarginGetText(0)
self.assertEquals(result, self.txt)
self.ed.MarginTextClearAll()
@@ -1166,9 +1152,7 @@ class TestTextMargin(unittest.TestCase):
styles = b"\001\002\003\004"
self.ed.MarginSetText(0, self.txt)
self.ed.MarginSetStyles(0, styles)
- result = b"\0" * 10
- length = self.ed.MarginGetStyles(0, result)
- result = result[:length]
+ result = self.ed.MarginGetStyles(0)
self.assertEquals(result, styles)
self.ed.MarginTextClearAll()
@@ -1190,10 +1174,8 @@ class TestAnnotation(unittest.TestCase):
self.assertEquals(self.ed.AnnotationGetLines(), 0)
self.ed.AnnotationSetText(0, self.txt)
self.assertEquals(self.ed.AnnotationGetLines(), 1)
- result = b"\0" * 10
- length = self.ed.AnnotationGetText(0, result)
- self.assertEquals(length, 4)
- result = result[:length]
+ result = self.ed.AnnotationGetText(0)
+ self.assertEquals(len(result), 4)
self.assertEquals(result, self.txt)
self.ed.AnnotationClearAll()
@@ -1207,9 +1189,7 @@ class TestAnnotation(unittest.TestCase):
styles = b"\001\002\003\004"
self.ed.AnnotationSetText(0, self.txt)
self.ed.AnnotationSetStyles(0, styles)
- result = b"\0" * 10
- length = self.ed.AnnotationGetStyles(0, result)
- result = result[:length]
+ result = self.ed.AnnotationGetStyles(0)
self.assertEquals(result, styles)
self.ed.AnnotationClearAll()
@@ -1516,29 +1496,21 @@ class TestLexer(unittest.TestCase):
def testLexerName(self):
self.ed.LexerLanguage = b"cpp"
self.assertEquals(self.ed.GetLexer(), self.ed.SCLEX_CPP)
- name = b"-" * 100
- length = self.ed.GetLexerLanguage(0, name)
- name = name[:length]
+ name = self.ed.GetLexerLanguage(0)
self.assertEquals(name, b"cpp")
def testPropertyNames(self):
- propertyNamesSize = self.ed.PropertyNames()
- propertyNames = b"x" * propertyNamesSize
- self.ed.PropertyNames(None, propertyNames)
+ propertyNames = self.ed.PropertyNames()
self.assertNotEquals(propertyNames, b"")
# The cpp lexer has a boolean property named lexer.cpp.allow.dollars
propNameDollars = b"lexer.cpp.allow.dollars"
propertyType = self.ed.PropertyType(propNameDollars)
self.assertEquals(propertyType, self.ed.SC_TYPE_BOOLEAN)
- propertyDescriptionSize = self.ed.DescribeProperty(propNameDollars)
- propertyDescription = b"x" * propertyDescriptionSize
- self.ed.DescribeProperty(propNameDollars, propertyDescription)
+ propertyDescription = self.ed.DescribeProperty(propNameDollars)
self.assertNotEquals(propertyDescription, b"")
def testWordListDescriptions(self):
- wordSetSize = self.ed.DescribeKeyWordSets()
- wordSet = b"x" * wordSetSize
- self.ed.DescribeKeyWordSets(None, wordSet)
+ wordSet = self.ed.DescribeKeyWordSets()
self.assertNotEquals(wordSet, b"")
class TestAutoComplete(unittest.TestCase):
@@ -1599,10 +1571,9 @@ class TestAutoComplete(unittest.TestCase):
#~ time.sleep(2)
self.assertEquals(self.ed.AutoCPosStart(), 0)
self.assertEquals(self.ed.AutoCGetCurrent(), 0)
- t = b"xxx"
- l = self.ed.AutoCGetCurrentText(5, t)
+ t = self.ed.AutoCGetCurrentText(5)
#~ self.assertEquals(l, 3)
- self.assertEquals(t, b"za\0")
+ self.assertEquals(t, b"za")
self.ed.AutoCCancel()
self.assertEquals(self.ed.AutoCActive(), 0)
@@ -1700,10 +1671,7 @@ class TestWordChars(unittest.TestCase):
def testDefaultWordChars(self):
# check that the default word chars are as expected
import string
- dataLen = self.ed.GetWordChars(None, None)
- data = b"\0" * dataLen
- self.ed.GetWordChars(None, data)
- self.assertEquals(dataLen, len(data))
+ data = self.ed.GetWordChars(None)
expected = set(string.digits + string.ascii_letters + '_') | \
set(chr(x) for x in range(0x80, 0x100))
self.assertCharSetsEqual(data, expected)
@@ -1711,10 +1679,7 @@ class TestWordChars(unittest.TestCase):
def testDefaultWhitespaceChars(self):
# check that the default whitespace chars are as expected
import string
- dataLen = self.ed.GetWhitespaceChars(None, None)
- data = b"\0" * dataLen
- self.ed.GetWhitespaceChars(None, data)
- self.assertEquals(dataLen, len(data))
+ data = self.ed.GetWhitespaceChars(None)
expected = (set(chr(x) for x in (range(0, 0x20))) | set(' ')) - \
set(['\r', '\n'])
self.assertCharSetsEqual(data, expected)
@@ -1722,10 +1687,7 @@ class TestWordChars(unittest.TestCase):
def testDefaultPunctuationChars(self):
# check that the default punctuation chars are as expected
import string
- dataLen = self.ed.GetPunctuationChars(None, None)
- data = b"\0" * dataLen
- self.ed.GetPunctuationChars(None, data)
- self.assertEquals(dataLen, len(data))
+ data = self.ed.GetPunctuationChars(None)
expected = set(chr(x) for x in range(0x20, 0x80)) - \
set(string.ascii_letters + string.digits + "\r\n_ ")
self.assertCharSetsEqual(data, expected)
@@ -1733,19 +1695,13 @@ class TestWordChars(unittest.TestCase):
def testCustomWordChars(self):
# check that setting things to whitespace chars makes them not words
self._setChars("whitespace", range(1, 0x100))
- dataLen = self.ed.GetWordChars(None, None)
- data = b"\0" * dataLen
- self.ed.GetWordChars(None, data)
- self.assertEquals(dataLen, len(data))
+ data = self.ed.GetWordChars(None)
expected = set()
self.assertCharSetsEqual(data, expected)
# and now set something to make sure that works too
expected = set(range(1, 0x100, 2))
self._setChars("word", expected)
- dataLen = self.ed.GetWordChars(None, None)
- data = b"\0" * dataLen
- self.ed.GetWordChars(None, data)
- self.assertEquals(dataLen, len(data))
+ data = self.ed.GetWordChars(None)
self.assertCharSetsEqual(data, expected)
def testCustomWhitespaceChars(self):
@@ -1753,36 +1709,24 @@ class TestWordChars(unittest.TestCase):
self._setChars("word", range(1, 0x100))
# we can't change chr(0) from being anything but whitespace
expected = set([0])
- dataLen = self.ed.GetWhitespaceChars(None, None)
- data = b"\0" * dataLen
- self.ed.GetWhitespaceChars(None, data)
- self.assertEquals(dataLen, len(data))
+ data = self.ed.GetWhitespaceChars(None)
self.assertCharSetsEqual(data, expected)
# now try to set it to something custom
expected = set(range(1, 0x100, 2)) | set([0])
self._setChars("whitespace", expected)
- dataLen = self.ed.GetWhitespaceChars(None, None)
- data = b"\0" * dataLen
- self.ed.GetWhitespaceChars(None, data)
- self.assertEquals(dataLen, len(data))
+ data = self.ed.GetWhitespaceChars(None)
self.assertCharSetsEqual(data, expected)
def testCustomPunctuationChars(self):
# check setting punctuation chars to non-default values
self._setChars("word", range(1, 0x100))
expected = set()
- dataLen = self.ed.GetPunctuationChars(None, None)
- data = b"\0" * dataLen
- self.ed.GetPunctuationChars(None, data)
- self.assertEquals(dataLen, len(data))
+ data = self.ed.GetPunctuationChars(0)
self.assertEquals(set(data), expected)
# now try to set it to something custom
expected = set(range(1, 0x100, 1))
self._setChars("punctuation", expected)
- dataLen = self.ed.GetPunctuationChars(None, None)
- data = b"\0" * dataLen
- self.ed.GetPunctuationChars(None, data)
- self.assertEquals(dataLen, len(data))
+ data = self.ed.GetPunctuationChars(None)
self.assertCharSetsEqual(data, expected)
#~ import os