aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorHugo Parente Lima <hugo.pl@gmail.com>2011-10-28 16:46:19 -0200
committerHugo Parente Lima <hugo.pl@gmail.com>2012-03-08 16:56:15 -0300
commit4ba7cd90d6799400cd3abf8741c0327835e3bdb6 (patch)
treed78088ada2a41bec6ae9d7cbcea15a6f7ffd367a /tests
parentf57d4d4dbc212bb13a28f10932197fc0548c842f (diff)
Fix bug 1013 - "connect to QSqlTableModel.primeInsert() causes crash"
Diffstat (limited to 'tests')
-rw-r--r--tests/QtSql/CMakeLists.txt1
-rw-r--r--tests/QtSql/bug_1013.py30
2 files changed, 31 insertions, 0 deletions
diff --git a/tests/QtSql/CMakeLists.txt b/tests/QtSql/CMakeLists.txt
index 25fba44a0..8db3a9813 100644
--- a/tests/QtSql/CMakeLists.txt
+++ b/tests/QtSql/CMakeLists.txt
@@ -1,2 +1,3 @@
+PYSIDE_TEST(bug_1013.py)
PYSIDE_TEST(qsqldatabaseandqueries_test.py)
PYSIDE_TEST(qvarianttype_test.py)
diff --git a/tests/QtSql/bug_1013.py b/tests/QtSql/bug_1013.py
new file mode 100644
index 000000000..f0cee701f
--- /dev/null
+++ b/tests/QtSql/bug_1013.py
@@ -0,0 +1,30 @@
+from PySide.QtCore import *
+from PySide.QtSql import *
+import unittest
+
+class TestBug1013 (unittest.TestCase):
+
+ def someSlot(self, row, record):
+ record.setValue(0, 2)
+ self._wasCalled = True
+
+ def testIt(self):
+ app = QCoreApplication([])
+ db = QSqlDatabase.addDatabase('QSQLITE')
+ db.setDatabaseName(':memory:')
+ db.open()
+ query = QSqlQuery()
+ query.exec_('CREATE TABLE "foo" (id INT);')
+ model = QSqlTableModel()
+ model.setTable('foo')
+
+ self._wasCalled = False
+ model.primeInsert.connect(self.someSlot)
+ model.select()
+ QTimer.singleShot(0,lambda: model.insertRow(0) and app.quit())
+ app.exec_()
+ self.assertTrue(self._wasCalled)
+ self.assertEqual(model.data(model.index(0, 0)), 2)
+
+if __name__ == "__main__":
+ unittest.main()