@@ -154,6 +154,10 @@ void TestQgsProcessingModel::testModel()
154
154
QVERIFY ( !model.providerForIndex ( model.index ( 0 , 0 , QModelIndex () ) ) );
155
155
QVERIFY ( !model.providerForIndex ( model.index ( 1 , 0 , QModelIndex () ) ) );
156
156
QVERIFY ( !model.indexForProvider ( nullptr ).isValid () );
157
+ QVERIFY ( model.index2node ( QModelIndex () ) ); // root node
158
+ QCOMPARE ( model.index2node ( QModelIndex () )->nodeType (), QgsProcessingToolboxModelNode::NodeGroup );
159
+ QVERIFY ( model.index2node ( model.index ( -1 , 0 , QModelIndex () ) ) ); // root node
160
+ QCOMPARE ( model.index2node ( QModelIndex () ), model.index2node ( model.index ( -1 , 0 , QModelIndex () ) ) );
157
161
158
162
// add a provider
159
163
DummyProvider *p1 = new DummyProvider ( " p1" , " provider1" );
@@ -559,6 +563,11 @@ void TestQgsProcessingModel::testView()
559
563
QgsProcessingRecentAlgorithmLog recentLog;
560
564
QgsProcessingToolboxTreeView view ( nullptr , ®istry, &recentLog );
561
565
566
+ // Check view model consistency
567
+ QVERIFY ( view.mModel );
568
+ QVERIFY ( view.mToolboxModel );
569
+ QCOMPARE ( view.mModel ->toolboxModel (), view.mToolboxModel );
570
+
562
571
QVERIFY ( !view.algorithmForIndex ( QModelIndex () ) );
563
572
564
573
// add a provider
@@ -636,6 +645,13 @@ void TestQgsProcessingModel::testView()
636
645
// but if it doesn't remove the selected one, that algorithm should not be deselected
637
646
view.setFilterString ( QStringLiteral ( " a" ) );
638
647
QCOMPARE ( view.selectedAlgorithm ()->id (), QStringLiteral ( " p2:a1" ) );
648
+
649
+ // Check view model consistency after resetting registry
650
+ view.setRegistry ( ®istry );
651
+ QVERIFY ( view.mModel );
652
+ QVERIFY ( view.mToolboxModel );
653
+ QCOMPARE ( view.mModel ->toolboxModel (), view.mToolboxModel );
654
+
639
655
}
640
656
641
657
QGSTEST_MAIN ( TestQgsProcessingModel )
0 commit comments