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

Method testMerge

plugins/git/tests/test_git.cpp:360–460  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

358}
359
360void GitInitTest::testMerge()
361{
362 const QString branchNames[] = {QStringLiteral("aBranchToBeMergedIntoMaster"), QStringLiteral("AnotherBranch")};
363
364 const QString files[]={QStringLiteral("First File to Appear after merging"),QStringLiteral("Second File to Appear after merging"), QStringLiteral("Another_File.txt")};
365
366 const QString content=QStringLiteral("Testing merge.");
367
368 repoInit();
369 addFiles();
370 commitFiles();
371
372 const QUrl baseUrl = QUrl::fromLocalFile(gitTest_BaseDir());
373 VcsJob* j = m_plugin->branches(baseUrl);
374 VERIFYJOB(j);
375 QString curBranch = runSynchronously(m_plugin->currentBranch(baseUrl)).toString();
376 QCOMPARE(curBranch, QStringLiteral("master"));
377
378 VcsRevision rev;
379 rev.setRevisionValue("master", KDevelop::VcsRevision::GlobalNumber);
380
381 j = m_plugin->branch(baseUrl, rev, branchNames[0]);
382 VERIFYJOB(j);
383 j = m_plugin->switchBranch(baseUrl, branchNames[0]);
384 VERIFYJOB(j);
385
386 qDebug() << "Adding files to the new branch";
387
388 //we start it after repoInit, so we still have empty git repo
389 QVERIFY(writeFile(gitTest_BaseDir() + files[0], content));
390 QVERIFY(writeFile(gitTest_BaseDir() + files[1], content));
391
392 QList<QUrl> listOfAddedFiles{QUrl::fromLocalFile(gitTest_BaseDir() + files[0]),
393 QUrl::fromLocalFile(gitTest_BaseDir() + files[1])};
394
395 j = m_plugin->add(listOfAddedFiles);
396 VERIFYJOB(j);
397
398 j = m_plugin->commit(QStringLiteral("Committing to the new branch"), QList<QUrl>() << QUrl::fromLocalFile(gitTest_BaseDir()));
399 VERIFYJOB(j);
400
401 j = m_plugin->switchBranch(baseUrl, QStringLiteral("master"));
402 VERIFYJOB(j);
403
404 j = m_plugin->mergeBranch(baseUrl, branchNames[0]);
405 VERIFYJOB(j);
406
407 auto jobLs = new DVcsJob(gitTest_BaseDir(), m_plugin);
408 *jobLs << "git" << "ls-tree" << "--name-only" << "-r" << "HEAD" ;
409
410 if (jobLs->exec() && jobLs->status() == KDevelop::VcsJob::JobSucceeded) {
411 QStringList lsFiles = jobLs->output().split('\n');
412 qDebug() << "Files in this Branch: " << lsFiles;
413 QVERIFY(lsFiles.contains(files[0]));
414 QVERIFY(lsFiles.contains(files[1]));
415 }
416
417 //Testing one more time.

Callers

nothing calls this directly

Calls 15

gitTest_BaseDirFunction · 0.85
writeFileFunction · 0.85
branchesMethod · 0.80
setRevisionValueMethod · 0.80
branchMethod · 0.80
switchBranchMethod · 0.80
execMethod · 0.80
outputMethod · 0.80
runSynchronouslyFunction · 0.50
toStringMethod · 0.45
currentBranchMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected