diff options
author | Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> | 2018-06-25 15:16:42 +0200 |
---|---|---|
committer | Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> | 2018-07-04 15:13:04 +0000 |
commit | a378ca8fdb33f040112762aad402ffb7c111d601 (patch) | |
tree | c3f982cf83c675460f51101c07e0edc508dfe4b6 /sources/pyside2/tests | |
parent | 462e4e66b525101989a6278a33a23db51bf23dc6 (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.py | 42 |
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() |