aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/tests/QtCore/qbytearray_operator_iadd_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_iadd_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_iadd_test.py')
-rw-r--r--sources/pyside2/tests/QtCore/qbytearray_operator_iadd_test.py23
1 files changed, 9 insertions, 14 deletions
diff --git a/sources/pyside2/tests/QtCore/qbytearray_operator_iadd_test.py b/sources/pyside2/tests/QtCore/qbytearray_operator_iadd_test.py
index dd569ac55..a345db514 100644
--- a/sources/pyside2/tests/QtCore/qbytearray_operator_iadd_test.py
+++ b/sources/pyside2/tests/QtCore/qbytearray_operator_iadd_test.py
@@ -30,6 +30,7 @@ import unittest
from PySide2.QtCore import QByteArray
from helper.docmodifier import DocModifier
+import py3kcompat as py3k
class BaseQByteArrayOperatorIAdd(object):
'''Base class for QByteArray += operator tests.
@@ -41,31 +42,25 @@ class BaseQByteArrayOperatorIAdd(object):
__metaclass__ = DocModifier
def testSingleString(self):
- '''QByteArray += string of size 1'''
- s = '0'
+ '''QByteArray += bytes of size 1'''
+ s = py3k.b('0')
self.obj += s
self.assertEqual(self.obj, self.orig_obj + s)
self.assertEqual(self.obj.size(), self.orig_obj.size() + len(s))
def testString(self):
- '''QByteArray += string of size > 1'''
- s = 'dummy'
- self.obj += s
+ '''QByteArray += bytes of size > 1'''
+ s = bytearray(py3k.b('dummy'))
+ self.obj += s # XXx iadd support abytearray
self.assertEqual(self.obj, self.orig_obj + s)
self.assertEqual(self.obj.size(), self.orig_obj.size() + len(s))
def testQByteArray(self):
'''QByteArray += QByteArray'''
- s = QByteArray('array')
+ s = QByteArray(py3k.b('array'))
self.obj += s
self.assertEqual(self.obj, self.orig_obj + s)
- def testChar(self):
- '''QByteArray += char (number < 256)'''
- s = ord('a')
- self.obj += s
- self.assertEqual(self.obj, self.orig_obj + s)
- self.assertEqual(self.obj.size(), self.orig_obj.size() + 1)
class NullQByteArrayOperatorIAdd(unittest.TestCase, BaseQByteArrayOperatorIAdd):
'''Test case for operator QByteArray += on null QByteArrays'''
@@ -85,8 +80,8 @@ class ValidQByteArrayOperatorIAdd(unittest.TestCase, BaseQByteArrayOperatorIAdd)
doc_filter = lambda x: x.startswith('test')
def setUp(self):
- self.obj = QByteArray('some byte array')
- self.orig_obj = QByteArray('some byte array')
+ self.obj = QByteArray(py3k.b('some byte array'))
+ self.orig_obj = QByteArray(py3k.b('some byte array'))
if __name__ == '__main__':
unittest.main()