aboutsummaryrefslogtreecommitdiffstats
path: root/tests/QtGui/bug_854.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/QtGui/bug_854.py')
-rw-r--r--tests/QtGui/bug_854.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/QtGui/bug_854.py b/tests/QtGui/bug_854.py
new file mode 100644
index 000000000..35a092a49
--- /dev/null
+++ b/tests/QtGui/bug_854.py
@@ -0,0 +1,40 @@
+from PySide.QtGui import QTableView, QVBoxLayout, QApplication
+from PySide.QtCore import QAbstractItemModel
+
+from helper import UsesQApplication
+import unittest
+
+
+class VirtualList(QAbstractItemModel):
+ def __getitem__(self, index):
+ self._getItemCalled = True
+ pass
+
+ def rowCount(self, parent):
+ return 5000
+
+ def columnCount(self, parent):
+ return 3
+
+ def index(self, row, column, parent):
+ return self.createIndex(row, column)
+
+ def parent(self, index):
+ return QModelIndex()
+
+ def data(self, index, role):
+ return "(%i, %i)" % (index.row(), index.column())
+
+
+class TestQAbstractItemModel(UsesQApplication):
+ def testSetModel(self):
+ model = VirtualList()
+ model._getItemCalled = False
+ table = QTableView()
+ table.setModel(model)
+ table.show()
+ self.assertFalse(model._getItemCalled)
+
+if __name__ == "__main__":
+ unittest.main()
+