aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/tests/QtCore/qbytearray_operator_test.py
diff options
context:
space:
mode:
authorBoxiang Sun <daetalusun@gmail.com>2018-05-20 11:04:45 +0800
committerBoxiang Sun <daetalusun@gmail.com>2018-06-01 15:09:19 +0000
commitee8e7117c79f6820cb228e0f0da522ce7d3c1dce (patch)
tree13cd0847be4ff45a80e2457b945f86b9bd9b4a20 /sources/pyside2/tests/QtCore/qbytearray_operator_test.py
parentddbd93680730811a5020b4d429c2e3e11d6823e3 (diff)
Improve the QByteArray implementation
The available constructors for QByteArray are now: bytes, bytearray, and QByteArray, unicode is not accepted anymore. Also the concatenation is now possible between QByteArrays. Even though is not possible to initialize a QByteArray with an unicode, we include the possibility to compare it with one (Compatibility with PyQt). The __repr__ and __str__ are now properly working. There seemed to be a confusion regarding data types between Shiboken, Python2 and Python3 related to bytes, so now the structure is based on the flag SBK_BYTES_NAME, which is define as "bytes" for Python3 and "str" for Python2. Many tests were modified to properly handle string, using the `py3kcompat` module. Task-number: PYSIDE-232 Change-Id: I8b671f367c60a0870c72dcbe5662106b3225037d Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'sources/pyside2/tests/QtCore/qbytearray_operator_test.py')
-rw-r--r--sources/pyside2/tests/QtCore/qbytearray_operator_test.py29
1 files changed, 12 insertions, 17 deletions
diff --git a/sources/pyside2/tests/QtCore/qbytearray_operator_test.py b/sources/pyside2/tests/QtCore/qbytearray_operator_test.py
index 09b5f24fb..93140d1e0 100644
--- a/sources/pyside2/tests/QtCore/qbytearray_operator_test.py
+++ b/sources/pyside2/tests/QtCore/qbytearray_operator_test.py
@@ -47,17 +47,12 @@ class QByteArrayOperatorEqual(unittest.TestCase):
def testSimple(self):
#QByteArray(some_string) == QByteArray(some_string)
- string = 'egg snakes'
+ string = py3k.b('egg snakes')
self.assertEqual(QByteArray(string), QByteArray(string))
def testPyString(self):
#QByteArray(string) == string
- string = 'my test string'
- self.assertEqual(QByteArray(string), string)
-
- def testQString(self):
- #QByteArray(string) == string
- string = 'another test string'
+ string = py3k.b('my test string')
self.assertEqual(QByteArray(string), string)
class QByteArrayOperatorAt(unittest.TestCase):
@@ -66,7 +61,7 @@ class QByteArrayOperatorAt(unittest.TestCase):
def testInRange(self):
#QByteArray[x] where x is a valid index
string = 'abcdefgh'
- obj = QByteArray(string)
+ obj = QByteArray(py3k.b(string))
for i in range(len(string)):
self.assertEqual(obj[i], py3k.b(string[i]))
@@ -74,7 +69,7 @@ class QByteArrayOperatorAt(unittest.TestCase):
def testInRangeReverse(self):
#QByteArray[x] where x is a valid index (reverse order)
string = 'abcdefgh'
- obj = QByteArray(string)
+ obj = QByteArray(py3k.b(string))
for i in range(len(string)-1, 0, -1):
self.assertEqual(obj[i], py3k.b(string[i]))
@@ -82,12 +77,12 @@ class QByteArrayOperatorAt(unittest.TestCase):
def testOutOfRange(self):
#QByteArray[x] where x is out of index
- string = '1234567'
+ string = py3k.b('1234567')
obj = QByteArray(string)
self.assertRaises(IndexError, lambda :obj[len(string)])
def testNullStrings(self):
- ba = QByteArray('\x00')
+ ba = QByteArray(py3k.b('\x00'))
self.assertEqual(ba.at(0), '\x00')
self.assertEqual(ba[0], py3k.b('\x00'))
@@ -97,9 +92,9 @@ class QByteArrayOperatorLen(unittest.TestCase):
def testBasic(self):
'''QByteArray __len__'''
self.assertEqual(len(QByteArray()), 0)
- self.assertEqual(len(QByteArray('')), 0)
- self.assertEqual(len(QByteArray(' ')), 1)
- self.assertEqual(len(QByteArray('yabadaba')), 8)
+ self.assertEqual(len(QByteArray(py3k.b(''))), 0)
+ self.assertEqual(len(QByteArray(py3k.b(' '))), 1)
+ self.assertEqual(len(QByteArray(py3k.b('yabadaba'))), 8)
class QByteArrayOperatorStr(unittest.TestCase):
@@ -107,9 +102,9 @@ class QByteArrayOperatorStr(unittest.TestCase):
def testBasic(self):
'''QByteArray __str__'''
- self.assertEqual(QByteArray().__str__(), '')
- self.assertEqual(QByteArray('').__str__(), '')
- self.assertEqual(QByteArray('aaa').__str__(), 'aaa')
+ self.assertEqual(QByteArray().__str__(), str(b''))
+ self.assertEqual(QByteArray(py3k.b('')).__str__(), str(b''))
+ self.assertEqual(QByteArray(py3k.b('aaa')).__str__(), str(b'aaa'))
if __name__ == '__main__':