aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/tests/QtSql/bug_1013.py
blob: e950256698e858dd1ed006c6294cd70acd7d882c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from PySide2.QtCore import *
from PySide2.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()