diff options
author | Boxiang Sun <daetalusun@gmail.com> | 2018-05-20 11:04:45 +0800 |
---|---|---|
committer | Boxiang Sun <daetalusun@gmail.com> | 2018-06-01 15:09:19 +0000 |
commit | ee8e7117c79f6820cb228e0f0da522ce7d3c1dce (patch) | |
tree | 13cd0847be4ff45a80e2457b945f86b9bd9b4a20 /sources/pyside2/tests/QtCore/qbytearray_operator_iadd_test.py | |
parent | ddbd93680730811a5020b4d429c2e3e11d6823e3 (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.py | 23 |
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() |