diff options
author | Felix Geyer <debfx@fobos.de> | 2013-03-23 00:00:06 +0400 |
---|---|---|
committer | Felix Geyer <debfx@fobos.de> | 2013-03-24 17:00:23 +0400 |
commit | 21a80101ba1fe358de2be38da9a81b1be7779043 (patch) | |
tree | 88c684dd4290cf50bcded9e3abd3e39a6fa2ca18 /tests/TestEntryModel.cpp | |
parent | c7593a30472ce336c5e5ecd864c046ad50e1e3f2 (diff) |
Add TestEntryModel::testDatabaseDelete().
It tests that EntryModel in EntryList mode correctly
removes entries from the model when that database of
these entries is deleted.
Diffstat (limited to 'tests/TestEntryModel.cpp')
-rw-r--r-- | tests/TestEntryModel.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/TestEntryModel.cpp b/tests/TestEntryModel.cpp index 286750728..3ac22c991 100644 --- a/tests/TestEntryModel.cpp +++ b/tests/TestEntryModel.cpp @@ -311,4 +311,35 @@ void TestEntryModel::testProxyModel() delete db; } +void TestEntryModel::testDatabaseDelete() +{ + EntryModel* model = new EntryModel(this); + ModelTest* modelTest = new ModelTest(model, this); + + Database* db1 = new Database(); + Group* group1 = new Group(); + group1->setParent(db1->rootGroup()); + + Entry* entry1 = new Entry(); + entry1->setGroup(group1); + + Database* db2 = new Database(); + Entry* entry2 = new Entry(); + entry2->setGroup(db2->rootGroup()); + + model->setEntryList(QList<Entry*>() << entry1 << entry2); + + QCOMPARE(model->rowCount(), 2); + + delete db1; + QCOMPARE(model->rowCount(), 1); + + delete entry2; + QCOMPARE(model->rowCount(), 0); + + delete db2; + delete modelTest; + delete model; +} + QTEST_GUILESS_MAIN(TestEntryModel) |