aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/tests
diff options
context:
space:
mode:
authorCristian Maureira-Fredes <cristian.maureira-fredes@qt.io>2018-06-25 15:16:42 +0200
committerCristian Maureira-Fredes <cristian.maureira-fredes@qt.io>2018-07-04 15:13:04 +0000
commita378ca8fdb33f040112762aad402ffb7c111d601 (patch)
treec3f982cf83c675460f51101c07e0edc508dfe4b6 /sources/pyside2/tests
parent462e4e66b525101989a6278a33a23db51bf23dc6 (diff)
Add test case for QVariant/PySequence issue
Simple test to see if the current implementation is working in all the platforms Task-number: PYSIDE-641 Change-Id: I85f19979b84314d42deb6686f2cdb29ba6af079c Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'sources/pyside2/tests')
-rw-r--r--sources/pyside2/tests/QtWidgets/qvariant_test.py42
1 files changed, 34 insertions, 8 deletions
diff --git a/sources/pyside2/tests/QtWidgets/qvariant_test.py b/sources/pyside2/tests/QtWidgets/qvariant_test.py
index a595f405b..907e6d9ed 100644
--- a/sources/pyside2/tests/QtWidgets/qvariant_test.py
+++ b/sources/pyside2/tests/QtWidgets/qvariant_test.py
@@ -27,8 +27,10 @@
#############################################################################
import unittest
-from PySide2.QtCore import *
-from PySide2.QtWidgets import *
+from PySide2.QtWidgets import (QApplication, QComboBox, QGraphicsScene,
+ QGraphicsRectItem)
+
+from helper import UsesQApplication
class MyDiagram(QGraphicsScene):
pass
@@ -37,14 +39,38 @@ class MyItem(QGraphicsRectItem):
def itemChange(self, change, value):
return value;
-class QGraphicsSceneOnQVariantTest(unittest.TestCase):
+class Sequence(object):
+ # Having the __getitem__ method on a class transform the Python
+ # type to a PySequence.
+ # Before the patch: aa75437f9119d997dd290471ac3e2cc88ca88bf1
+ # "Fix QVariant conversions when using PySequences"
+ # one could not use an object from this class, because internally
+ # we were requiring that the PySequence was finite.
+ def __getitem__(self, key):
+ raise IndexError()
+
+class QGraphicsSceneOnQVariantTest(UsesQApplication):
"""Test storage ot QGraphicsScene into QVariants"""
+ def setUp(self):
+ super(QGraphicsSceneOnQVariantTest, self).setUp()
+ self.s = MyDiagram()
+ self.i = MyItem()
+ self.combo = QComboBox()
+
+ def tearDown(self):
+ del self.s
+ del self.i
+ del self.combo
+ super(QGraphicsSceneOnQVariantTest, self).tearDown()
+
def testIt(self):
- app = QApplication([])
- s = MyDiagram()
- i = MyItem()
- s.addItem(i)
- self.assertEqual(len(s.items()), 1)
+ self.s.addItem(self.i)
+ self.assertEqual(len(self.s.items()), 1)
+
+ def testSequence(self):
+ # PYSIDE-641
+ self.combo.addItem("test", userData=Sequence())
+ self.assertTrue(isinstance(self.combo.itemData(0), Sequence))
if __name__ == '__main__':
unittest.main()