MCPcopy Create free account
hub / github.com/KDE/kdevelop / testRename

Method testRename

kdevplatform/project/tests/test_projectmodel.cpp:325–365  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

323}
324
325void TestProjectModel::testRename()
326{
327 QString projectFolderPath = QDir::rootPath() + QStringLiteral("dummyprojectfolder");
328 QFETCH( int, itemType );
329 QFETCH( QString, itemText );
330 QFETCH( QString, newName );
331 QFETCH( bool, datachangesignal );
332 QFETCH( QString, expectedItemText );
333 QFETCH( int, expectedRenameCode );
334
335 const Path projectFolder = Path(QUrl::fromLocalFile(projectFolderPath));
336 QScopedPointer<TestProject> proj(new TestProject());
337 auto* rootItem = new ProjectFolderItem( proj.data(), projectFolder, nullptr);
338 proj->setProjectItem( rootItem );
339
340 new ProjectFileItem(QStringLiteral("existing"), rootItem);
341
342 ProjectBaseItem* item = nullptr;
343 if( itemType == ProjectBaseItem::Target ) {
344 item = new ProjectTargetItem( proj.data(), itemText, rootItem );
345 } else if( itemType == ProjectBaseItem::File ) {
346 item = new ProjectFileItem( itemText, rootItem );
347 } else if( itemType == ProjectBaseItem::Folder ) {
348 item = new ProjectFolderItem( itemText, rootItem );
349 } else if( itemType == ProjectBaseItem::BuildFolder ) {
350 item = new ProjectBuildFolderItem( itemText, rootItem );
351 }
352 Q_ASSERT( item );
353
354 QCOMPARE(item->model(), model);
355 QSignalSpy s( model, SIGNAL(dataChanged(QModelIndex,QModelIndex)) );
356 ProjectBaseItem::RenameStatus stat = item->rename( newName );
357 QCOMPARE( (int)stat, expectedRenameCode );
358 if( datachangesignal ) {
359 QCOMPARE( s.count(), 1 );
360 QCOMPARE( qvariant_cast<QModelIndex>( s.takeFirst().at(0) ), item->index() );
361 } else {
362 QCOMPARE( s.count(), 0 );
363 }
364 QCOMPARE( item->text(), expectedItemText );
365}
366
367void TestProjectModel::testRename_data()
368{

Callers

nothing calls this directly

Calls 9

setProjectItemMethod · 0.80
PathClass · 0.50
dataMethod · 0.45
modelMethod · 0.45
renameMethod · 0.45
countMethod · 0.45
atMethod · 0.45
indexMethod · 0.45
textMethod · 0.45

Tested by

no test coverage detected