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_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_test.py')
-rw-r--r-- | sources/pyside2/tests/QtCore/qbytearray_operator_test.py | 29 |
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__': |