diff options
author | Luciano Wolf <luciano.wolf@openbossa.org> | 2010-11-17 18:58:39 -0300 |
---|---|---|
committer | Luciano Wolf <luciano.wolf@openbossa.org> | 2010-11-17 19:10:02 -0300 |
commit | 16913eedcec8c71b129dfcb029e0eb0fc50bb2a1 (patch) | |
tree | a4521603dcb18b467f6bc52df0f9c5f19b25465c /tests/QtGui | |
parent | 5a8efeb9df4271b0e1ec47bf231d2f23141d2375 (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.py | 24 |
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() |