Arora / arora forked from icefox/arora
- Source
- Commits
- Network (29)
- Downloads (13)
- Graphs
-
Tree:
d2a5ee0
| name | age | message | |
|---|---|---|---|
| .. | |||
| |
LICENSE.GPL | ||
| |
README | ||
| |
modeltest.cpp | ||
| |
modeltest.h | ||
| |
modeltest.pri |
autotests/modeltest/README
ModelTest provides a way to check for common errors in implementations of <a href="QAbstractItemModel">http://doc.trolltech.com/4/qabstractitemmodel.html</a>. ModelTest continuously checks a model as it changes, helping to verify the state and catching many common errors the moment they show up such as: <ul> <li>Verifing X number of rows have been inserted in the correct place after the signal rowsAboutToBeInserted() says X rows will be inserted.</li> <li>The parent of the first index of the first row is a QModelIndex()</li> <li>Calling index() twice in a row with the same values will return the same QModelIndex</li> <li>If rowCount() says there are X number of rows, model test will verify that is true. <li>Many possible off by one bugs</li> <li>hasChildren() returns true if rowCount() is greater then zero.</li> <li>and many more...</li> </ul> --- To Use the model test do the following: 1) Include the pri file at the end of your project pro file using the include() command like so: include(../path/to/dir/modeltest.pri) 2) Then in your source include "modeltest.h" and instantiate ModelTest with your model so the test can live for the lifetime of your model. For example: #include <modeltest.h> QDirModel *model = new QDirModel(this); new ModelTest(model, this); 3) That is it. When the test finds a problem it will assert. modeltest.cpp contains some hints on how to fix problems that the test finds.

