diff options
Diffstat (limited to 'sources/pyside2/tests/QtCore/qbytearray_test.py')
-rw-r--r-- | sources/pyside2/tests/QtCore/qbytearray_test.py | 100 |
1 files changed, 63 insertions, 37 deletions
diff --git a/sources/pyside2/tests/QtCore/qbytearray_test.py b/sources/pyside2/tests/QtCore/qbytearray_test.py index 672472c42..3f7de66fb 100644 --- a/sources/pyside2/tests/QtCore/qbytearray_test.py +++ b/sources/pyside2/tests/QtCore/qbytearray_test.py @@ -1,4 +1,5 @@ -#!/usr/bin/python +# -*- coding:utf-8 -*- +# !/usr/bin/python ############################################################################# ## @@ -35,24 +36,24 @@ import ctypes import pickle import py3kcompat as py3k -from PySide2.QtCore import QByteArray, QSettings, QObject +from PySide2.QtCore import QByteArray, QSettings, QObject, QDataStream, QIODevice class QByteArrayTestToNumber(unittest.TestCase): def testToNumberInt(self): - obj = QByteArray('37') + obj = QByteArray(py3k.b('37')) self.assertEqual((37, True), obj.toInt()) def testToNumberUShort(self): - obj = QByteArray('37') + obj = QByteArray(py3k.b('37')) self.assertEqual((37, True), obj.toUShort()) def testToNumberFloat(self): - obj = QByteArray('37.109') + obj = QByteArray(py3k.b('37.109')) self.assertEqual((ctypes.c_float(37.109).value, True), obj.toFloat()) def testToNumberDouble(self): - obj = QByteArray('37.109') + obj = QByteArray(py3k.b('37.109')) self.assertEqual((ctypes.c_double(37.109).value, True), obj.toDouble()) @@ -69,9 +70,9 @@ class QByteArrayTestToNumber(unittest.TestCase): def testAppend(self): b = QByteArray() - b.append("A") + b.append(py3k.b("A")) self.assertEqual(b.size(), 1) - b.append("AB") + b.append(py3k.b("AB")) self.assertEqual(b.size(), 3) @@ -80,7 +81,7 @@ class QByteArraySplit(unittest.TestCase): def testPathSeparator(self): #QByteArray.split('/') - obj = QByteArray(unittest.__file__) + obj = QByteArray(py3k.b(unittest.__file__)) self.assertEqual(obj.split('/'), unittest.__file__.split('/')) class QByteArrayData(unittest.TestCase): @@ -88,11 +89,11 @@ class QByteArrayData(unittest.TestCase): '''Test case for QByteArray.data''' def testData(self): - url = QByteArray("http://web.openbossa.org/") - self.assertEqual(url.data(), py3k.b("http://web.openbossa.org/")) + url = QByteArray(py3k.b("http://pyside.org")) + self.assertEqual(url.data(), py3k.b("http://pyside.org")) def testDataWithZeros(self): - s1 = "123\000321" + s1 = py3k.b("123\000321") ba = QByteArray(s1) s2 = ba.data() self.assertEqual(py3k.b(s1), s2) @@ -103,21 +104,21 @@ class QByteArrayOperatorAtSetter(unittest.TestCase): def testSetterString(self): '''QByteArray[x] = pythonstring''' - obj = QByteArray('123456') - obj[1] = '0' - self.assertEqual(obj, QByteArray('103456')) + obj = QByteArray(py3k.b('123456')) + obj[1] = py3k.b('0') + self.assertEqual(obj, QByteArray(py3k.b('103456'))) def testSetterStringLarge(self): '''QByteArray[x] = pythonstring (larget than 1 char)''' - obj = QByteArray('123456') - obj[3] = 'abba' - self.assertEqual(obj, QByteArray('123abba56')) + obj = QByteArray(py3k.b('123456')) + obj[3] = py3k.b('abba') + self.assertEqual(obj, QByteArray(py3k.b('123abba56'))) def testSetterQByteArray(self): '''QByteArray[x] = qbytearray''' - obj = QByteArray('123456') - obj[3] = QByteArray('array') - self.assertEqual(obj, QByteArray('123array56')) + obj = QByteArray(py3k.b('123456')) + obj[3] = QByteArray(py3k.b('array')) + self.assertEqual(obj, QByteArray(py3k.b('123array56'))) class QByteArrayOperatorAtSetterNegativeIndex(unittest.TestCase): @@ -125,9 +126,9 @@ class QByteArrayOperatorAtSetterNegativeIndex(unittest.TestCase): def testSetterNegativeIndex(self): '''QByteArray[x] = string - negative index''' - obj = QByteArray('123456') - obj[-3] = 'array' - self.assertEqual(obj, QByteArray('123array56')) + obj = QByteArray(py3k.b('123456')) + obj[-3] = py3k.b('array') + self.assertEqual(obj, QByteArray(py3k.b('123array56'))) class QByteArrayOperatorAtSetterLargeIndex(unittest.TestCase): @@ -136,16 +137,38 @@ class QByteArrayOperatorAtSetterLargeIndex(unittest.TestCase): def testSetterLargeIndexEmpty(self): '''QByteArray[x] = somestring - Overflow index on empty string''' # should pad with spaces if the index is larger - obj = QByteArray('') - obj[2] = 'a' - self.assertEqual(obj, QByteArray(' a')) + obj = QByteArray(py3k.b('')) + obj[2] = py3k.b('a') + self.assertEqual(obj, QByteArray(py3k.b(' a'))) def testSetterLargeIndexNormal(self): '''QByteArray[x] = somestring - Overflow index on normal string''' # should pad with spaces if the index is larger - obj = QByteArray('mystring') - obj[10] = 'normal' - self.assertEqual(obj, QByteArray('mystring normal')) + obj = QByteArray(py3k.b('mystring')) + obj[10] = py3k.b('normal') + self.assertEqual(obj, QByteArray(py3k.b('mystring normal'))) + +class QByteArrayOnQDataStream(unittest.TestCase): + ''' + Bug PYSIDE-232 + ''' + def testIt(self): + a = QByteArray() + b = QDataStream(a, QIODevice.WriteOnly) + b.writeUInt16(5000) + # The __repr__ not suppose to crash anymore + self.assertNotEqual(repr(b), None) + +class TestBug664(unittest.TestCase): + ''' + QByteArray.data() should return correct data + ''' + def testIt(self): + a = QByteArray(py3k.unicode_('hi 猫').encode('utf-8')) + if py3k.IS_PY3K: + self.assertEqual(repr(a), "PySide2.QtCore.QByteArray(b'hi \\xe7\\x8c\\xab')") + else: + self.assertEqual(repr(a), "PySide2.QtCore.QByteArray('hi \\xe7\\x8c\\xab')") class QByteArrayOnQVariant(unittest.TestCase): def testQByteArrayOnQVariant(self): @@ -157,7 +180,7 @@ class TestBug567(unittest.TestCase): QByteArray should support slices ''' def testIt(self): - ba = QByteArray('1234567890') + ba = QByteArray(py3k.b('1234567890')) self.assertEqual(ba[2:4], '34') self.assertEqual(ba[:4], '1234') self.assertEqual(ba[4:], '567890') @@ -176,21 +199,24 @@ class QByteArrayBug514(unittest.TestCase): class TestPickler(unittest.TestCase): def testIt(self): - ba = QByteArray("321\x00123") + ba = QByteArray(py3k.b("321\x00123")) output = pickle.dumps(str(ba)) ba2 = pickle.loads(output) - self.assertEqual(ba, ba2) + self.assertEqual(str(ba), str(ba2)) class QByteArrayBug720(unittest.TestCase): def testIt(self): - ba = QByteArray(b"32\"1\x00123") - self.assertEqual(str(ba), "32\"1\x00123") - self.assertEqual(repr(ba), "PySide2.QtCore.QByteArray('32\"1\x00123')") + ba = QByteArray(py3k.b("32\"1\x00123")) + self.assertEqual(str(ba), str(py3k.b("32\"1\x00123"))) + if py3k.IS_PY3K: + self.assertEqual(repr(ba), "PySide2.QtCore.QByteArray(b'32\"1\\x00123')") + else: + self.assertEqual(repr(ba), "PySide2.QtCore.QByteArray('32\"1\\x00123')") class QByteArrayImplicitConvert(unittest.TestCase): def testString(self): # No implicit conversions from QByteArray to python string - ba = QByteArray("object name") + ba = QByteArray(py3k.b("object name")) obj = QObject() self.assertRaises(TypeError, obj.setObjectName, ba) |