diff options
Diffstat (limited to 'tests/auto')
-rw-r--r-- | tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp | 2 | ||||
-rw-r--r-- | tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp | 20 |
2 files changed, 22 insertions, 0 deletions
diff --git a/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp b/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp index ce0d8db1fd..05d84383ae 100644 --- a/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp +++ b/tests/auto/sql/models/qsqlrelationaltablemodel/tst_qsqlrelationaltablemodel.cpp @@ -1537,7 +1537,9 @@ void tst_QSqlRelationalTableModel::relationOnFirstColumn() //modify the model data QVERIFY_SQL(model, setData(model.index(0, 0), 40)); + QVERIFY_SQL(model, submit()); QVERIFY_SQL(model, setData(model.index(1, 0), 50)); + QVERIFY_SQL(model, submit()); QVERIFY_SQL(model, setData(model.index(2, 0), 30)); //verify the data after modificaiton diff --git a/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp b/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp index 0bdcb3bce6..8bc71257e3 100644 --- a/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp +++ b/tests/auto/sql/models/qsqltablemodel/tst_qsqltablemodel.cpp @@ -1067,6 +1067,26 @@ void tst_QSqlTableModel::isDirty() QFAIL_SQL(model, isDirty(model.index(0, 1))); } + if (submitpolicy == QSqlTableModel::OnRowChange) { + // dirty row must block change on other rows + QCOMPARE(model.data(model.index(0, 1)).toString(), QString("harry")); + QVERIFY(model.rowCount() > 1); + QVERIFY_SQL(model, setData(model.index(0, 1), QString("sam i am"))); + QCOMPARE(model.data(model.index(0, 1)).toString(), QString("sam i am")); + QVERIFY_SQL(model, isDirty()); + QVERIFY_SQL(model, isDirty(model.index(0, 1))); + QVERIFY(!(model.flags(model.index(1, 1)) & Qt::ItemIsEditable)); + QFAIL_SQL(model, setData(model.index(1, 1), QString("sam i am"))); + QFAIL_SQL(model, setRecord(1, model.record(1))); + QFAIL_SQL(model, insertRow(1)); + QFAIL_SQL(model, isDirty(model.index(1, 1))); + + model.revertAll(); + QCOMPARE(model.data(model.index(0, 1)).toString(), QString("harry")); + QFAIL_SQL(model, isDirty()); + QFAIL_SQL(model, isDirty(model.index(0, 1))); + } + // setData() followed by submitAll() QCOMPARE(model.data(model.index(0, 1)).toString(), QString("harry")); QVERIFY_SQL(model, setData(model.index(0, 1), QString("sam i am"))); |