diff --git a/tests/auto/corelib/itemmodels/qabstractitemmodel/CMakeLists.txt b/tests/auto/corelib/itemmodels/qabstractitemmodel/CMakeLists.txt index 7fc8f5acc1a..e5c7c08fc88 100644 --- a/tests/auto/corelib/itemmodels/qabstractitemmodel/CMakeLists.txt +++ b/tests/auto/corelib/itemmodels/qabstractitemmodel/CMakeLists.txt @@ -19,4 +19,5 @@ qt_internal_add_test(tst_qabstractitemmodel ../../../other/qabstractitemmodelutils LIBRARIES Qt::Gui + Qt::TestPrivate ) diff --git a/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp b/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp index 4c69575ecc3..4b810678d74 100644 --- a/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp +++ b/tests/auto/corelib/itemmodels/qabstractitemmodel/tst_qabstractitemmodel.cpp @@ -3,6 +3,8 @@ #include +#include + #include #include #include @@ -56,6 +58,7 @@ private slots: void reset(); void complexChangesWithPersistent(); + void modelIndexComparisons(); void testMoveSameParentUp_data(); void testMoveSameParentUp(); @@ -984,6 +987,33 @@ void tst_QAbstractItemModel::complexChangesWithPersistent() QVERIFY(e[i] == model.index(2, i-2 , QModelIndex())); } +void tst_QAbstractItemModel::modelIndexComparisons() +{ + QTestPrivate::testEqualityOperatorsCompile(); + QTestPrivate::testEqualityOperatorsCompile(); + QTestPrivate::testEqualityOperatorsCompile(); + + QtTestModel model(3, 3); + + QModelIndex mi11 = model.index(1, 1); + QModelIndex mi22 = model.index(2, 2); + QPersistentModelIndex pmi11 = mi11; + QPersistentModelIndex pmi22 = mi22; + + QTestPrivate::testEqualityOperators(mi11, mi11, true); + if (QTest::currentTestFailed()) return; + QTestPrivate::testEqualityOperators(mi11, mi22, false); + if (QTest::currentTestFailed()) return; + QTestPrivate::testEqualityOperators(pmi11, pmi11, true); + if (QTest::currentTestFailed()) return; + QTestPrivate::testEqualityOperators(pmi11, pmi22, false); + if (QTest::currentTestFailed()) return; + QTestPrivate::testEqualityOperators(pmi11, mi11, true); + if (QTest::currentTestFailed()) return; + QTestPrivate::testEqualityOperators(pmi11, mi22, false); + if (QTest::currentTestFailed()) return; +} + void tst_QAbstractItemModel::testMoveSameParentDown_data() { QTest::addColumn("startRow");