@@ -154,6 +154,10 @@ void TestQgsProcessingModel::testModel()
154154 QVERIFY ( !model.providerForIndex ( model.index ( 0 , 0 , QModelIndex () ) ) );
155155 QVERIFY ( !model.providerForIndex ( model.index ( 1 , 0 , QModelIndex () ) ) );
156156 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 () ) ) );
157161
158162 // add a provider
159163 DummyProvider *p1 = new DummyProvider ( " p1" , " provider1" );
@@ -559,6 +563,11 @@ void TestQgsProcessingModel::testView()
559563 QgsProcessingRecentAlgorithmLog recentLog;
560564 QgsProcessingToolboxTreeView view ( nullptr , ®istry, &recentLog );
561565
566+ // Check view model consistency
567+ QVERIFY ( view.mModel );
568+ QVERIFY ( view.mToolboxModel );
569+ QCOMPARE ( view.mModel ->toolboxModel (), view.mToolboxModel );
570+
562571 QVERIFY ( !view.algorithmForIndex ( QModelIndex () ) );
563572
564573 // add a provider
@@ -636,6 +645,13 @@ void TestQgsProcessingModel::testView()
636645 // but if it doesn't remove the selected one, that algorithm should not be deselected
637646 view.setFilterString ( QStringLiteral ( " a" ) );
638647 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+
639655}
640656
641657QGSTEST_MAIN ( TestQgsProcessingModel )
0 commit comments