aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorLauro Neto <lauro.neto@openbossa.org>2010-01-27 14:20:22 -0300
committerHugo Lima <hugo.lima@openbossa.org>2010-02-02 18:19:28 -0200
commit5e0169fe506aafe246029acd6f90ecef054fc074 (patch)
tree4fd2b32cd46af0195ccd80dbcd217eedce812a7f /tests
parent2cee6b6fca0c9b4188b7fb10643f77a719b792fc (diff)
Adding tests and fixing QString __setitem__ and []
Instead of calling replace, using remove/insert, as there's no way of replacing only 1 char at a given position by another string directly.
Diffstat (limited to 'tests')
-rw-r--r--tests/qtcore/qstring_operator_test.py59
1 files changed, 58 insertions, 1 deletions
diff --git a/tests/qtcore/qstring_operator_test.py b/tests/qtcore/qstring_operator_test.py
index 0174fdbce..6d7ae314d 100644
--- a/tests/qtcore/qstring_operator_test.py
+++ b/tests/qtcore/qstring_operator_test.py
@@ -42,8 +42,65 @@ class QStringOperatorEqual(unittest.TestCase):
string = 'another test string'
self.assertEqual(QString(string), QByteArray(string))
+
+class QStringOperatorAtSetter(unittest.TestCase):
+ '''Test case for operator QString[] - __setitem__'''
+
+ def testSetterString(self):
+ '''QString[x] = pythonstring'''
+ obj = QString('123456')
+ obj[1] = '0'
+ self.assertEqual(obj, QString('103456'))
+
+ def testSetterStringLarge(self):
+ '''QString[x] = pythonstring (larget than 1 char)'''
+ obj = QString('123456')
+ obj[3] = 'abba'
+ self.assertEqual(obj, QString('123abba56'))
+
+ def testSetterQString(self):
+ '''QString[x] = QString'''
+ obj = QString('123456')
+ obj[3] = QString('string')
+ self.assertEqual(obj, QString('123string56'))
+
+ def testSetterQByteArray(self):
+ '''QString[x] = qbytearray'''
+ obj = QString('123456')
+ obj[3] = QByteArray('array')
+ self.assertEqual(obj, QString('123array56'))
+
+
+class QStringOperatorAtSetterNegativeIndex(unittest.TestCase):
+ '''Test case for QString[] - __setitem__ - for negative index'''
+
+ def testSetterNegativeIndex(self):
+ '''QString[x] = string - negative index'''
+ obj = QString('123456')
+ obj[-3] = 'array'
+ self.assertEqual(obj, QString('123array56'))
+
+
+class QStringOperatorAtSetterLargeIndex(unittest.TestCase):
+ '''Test case for QString[] - __setitem__ - for 'overflown' index'''
+
+ def testSetterLargeIndexEmpty(self):
+ '''QString[x] = somestring - Overflow index on empty string'''
+ # should pad with spaces if the index is larger
+ obj = QString('')
+ obj[2] = 'a'
+ self.assertEqual(obj, QString(' a'))
+
+ def testSetterLargeIndexNormal(self):
+ '''QString[x] = somestring - Overflow index on normal string'''
+ # should pad with spaces if the index is larger
+ obj = QString('mystring')
+ obj[10] = 'normal'
+ self.assertEqual(obj, QString('mystring normal'))
+
+
class QStringOperatorAt(unittest.TestCase):
- '''TestCase for operator QString[]'''
+ '''TestCase for operator QString[] - __getitem__'''
def testInRange(self):
#QString[x] where x is a valid index