aboutsummaryrefslogtreecommitdiffstats
path: root/tests/QtGui
diff options
context:
space:
mode:
authorLuciano Wolf <luciano.wolf@openbossa.org>2010-11-17 18:58:39 -0300
committerLuciano Wolf <luciano.wolf@openbossa.org>2010-11-17 19:10:02 -0300
commit16913eedcec8c71b129dfcb029e0eb0fc50bb2a1 (patch)
treea4521603dcb18b467f6bc52df0f9c5f19b25465c /tests/QtGui
parent5a8efeb9df4271b0e1ec47bf231d2f23141d2375 (diff)
Fix setLayout method that was causing segfault when itemAt wasn't implemented.
Reviewer: Hugo Parente <hugo.lima@openbossa.org> Renato Araújo <renato.filho@openbossa.org>
Diffstat (limited to 'tests/QtGui')
-rw-r--r--tests/QtGui/qlayout_test.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/QtGui/qlayout_test.py b/tests/QtGui/qlayout_test.py
index 88c37aa4d..72c6d173b 100644
--- a/tests/QtGui/qlayout_test.py
+++ b/tests/QtGui/qlayout_test.py
@@ -27,7 +27,22 @@ class MyLayout(QLayout):
def add(self, item):
self._list.append(item)
+class MissingItemAtLayout(QLayout):
+ def __init__(self, parent=None):
+ QLayout.__init__(self, parent)
+ self._list = []
+
+ def addItem(self, item):
+ self.add(item)
+ def addWidget(self, widget):
+ self.add(QWidgetItem(widget))
+
+ def count(self):
+ return len(self._list)
+
+ def add(self, item):
+ self._list.append(item)
#Test if a layout implemented in python, the QWidget.setLayout works
#fine because this implement som layout functions used in glue code of
@@ -71,5 +86,14 @@ class QLayoutTest(UsesQApplication):
self.assertEqual(sys.getrefcount(b), 2)
+ def testMissingFunctions(self):
+ w = QWidget()
+ b = QPushButton("test")
+ l = MissingItemAtLayout()
+
+ l.addWidget(b)
+
+ self.assertRaises(RuntimeError, w.setLayout, l)
+
if __name__ == '__main__':
unittest.main()