aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugo Parente Lima <hugo.pl@gmail.com>2010-08-30 17:28:13 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2010-08-30 17:46:25 -0300
commitd27d6958c07fdb2d452484ddda0b615c43c8db7b (patch)
tree755d85aea0654daa97fdceb6e829d00092df682f
parent7b2903ad21aba22798b4ceace38c34d29bf7b8cc (diff)
Fix bug#309 - "QtCore.QByteArray() or list from QtCore.Qsettings.value() as default"
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org> Renato Araújo <renato.araujo@openbossa.org>
-rw-r--r--PySide/QtCore/qvariant_conversions.h3
-rw-r--r--tests/QtCore/qbytearray_test.py8
2 files changed, 8 insertions, 3 deletions
diff --git a/PySide/QtCore/qvariant_conversions.h b/PySide/QtCore/qvariant_conversions.h
index 7a799e1c6..a471ce64a 100644
--- a/PySide/QtCore/qvariant_conversions.h
+++ b/PySide/QtCore/qvariant_conversions.h
@@ -28,6 +28,9 @@ struct Converter<QVariant>
} else if (Converter<QString>::checkType(pyObj)) {
// QVariant(const char*)
return QVariant(Converter<QString>::toCpp(pyObj));
+ } else if (Converter<QByteArray>::checkType(pyObj)) {
+ // QVariant(QByteArray)
+ return QVariant(Converter<QByteArray>::toCpp(pyObj));
} else if (PyFloat_CheckExact(pyObj)) {
// QVariant(double)
return QVariant(Converter<double>::toCpp(pyObj));
diff --git a/tests/QtCore/qbytearray_test.py b/tests/QtCore/qbytearray_test.py
index 20bba1400..1c425b8e9 100644
--- a/tests/QtCore/qbytearray_test.py
+++ b/tests/QtCore/qbytearray_test.py
@@ -5,7 +5,7 @@ import unittest
import ctypes
import sys
-from PySide.QtCore import QByteArray
+from PySide.QtCore import *
class QByteArrayTestToNumber(unittest.TestCase):
def testToNumberInt(self):
@@ -91,8 +91,10 @@ class QByteArrayOperatorAtSetterLargeIndex(unittest.TestCase):
obj[10] = 'normal'
self.assertEqual(obj, QByteArray('mystring normal'))
-
-
+class QByteArrayOnQVariant(unittest.TestCase):
+ def testQByteArrayOnQVariant(self):
+ a = QSettings().value("some_prop", QByteArray())
+ self.assertEqual(type(a), QByteArray)
if __name__ == '__main__':
unittest.main()