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

Method testsplitViewBuddies

kdevplatform/shell/tests/test_shellbuddy.cpp:333–407  ·  view source on GitHub ↗

/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////

Source from the content-addressed store, hash-verified

331////////////////////////////////////////////////////////////////////////////////
332////////////////////////////////////////////////////////////////////////////////
333void TestShellBuddy::testsplitViewBuddies()
334{
335 Sublime::MainWindow *pMainWindow = m_uiController->activeSublimeWindow();
336
337 QCOMPARE(m_documentController->openDocuments().count(), 0);
338 enableBuddies();
339 enableOpenAfterCurrent();
340
341 QTemporaryDir dirA;
342
343 createFile(dirA, QStringLiteral("classA.r.txt"));
344 createFile(dirA, QStringLiteral("classA.l.txt"));
345 createFile(dirA, QStringLiteral("foo.txt"));
346
347 Sublime::Area *pCodeArea = m_uiController->activeArea();
348 QVERIFY(pCodeArea);
349
350 IDocument *pClassAHeader = m_documentController->openDocument(QUrl::fromLocalFile(dirA.path() + "classA.l.txt"));
351 QVERIFY(pClassAHeader);
352 Sublime::View *pClassAHeaderView = pMainWindow->activeView();
353 pClassAHeaderView->setObjectName(QStringLiteral("classA.l.txt"));
354
355 // now, create a split view of the active view (pClassAHeader)
356 Sublime::View *pClassAHeaderSplitView = dynamic_cast<Sublime::Document*>(pClassAHeader)->createView();
357 pClassAHeaderSplitView->setObjectName("splitOf" + pMainWindow->activeView()->objectName());
358 pCodeArea->addView(pClassAHeaderSplitView, pMainWindow->activeView(), Qt::Vertical);
359 // and activate it
360 pMainWindow->activateView(pClassAHeaderSplitView);
361
362 // get the current view's container from the mainwindow
363 QWidget *pCentral = pMainWindow->centralWidget();
364 QVERIFY(pCentral);
365 QVERIFY(pCentral->inherits("QWidget"));
366
367 QWidget *pSplitter = pCentral->findChild<QSplitter*>();
368 QVERIFY(pSplitter);
369 QVERIFY(pSplitter->inherits("QSplitter"));
370
371 Sublime::Container *pLeftContainer = pSplitter->findChildren<Sublime::Container*>().at(1);
372 QVERIFY(pLeftContainer);
373 Sublime::Container *pRightContainer = pSplitter->findChildren<Sublime::Container*>().at(0);
374 QVERIFY(pRightContainer);
375
376 // check that it only contains pClassAHeaderSplitView
377 QVERIFY(pRightContainer->count() == 1 && pRightContainer->hasWidget(pClassAHeaderSplitView->widget()));
378
379 // now open the corresponding definition file, classA.r.txt
380 IDocument *pClassAImplem = m_documentController->openDocument(QUrl::fromLocalFile(dirA.path() + "classA.r.txt"));
381 QVERIFY(pClassAImplem);
382 pMainWindow->activeView()->setObjectName(QStringLiteral("classA.r.txt"));
383
384 // and check its presence alongside pClassAHeaderSplitView in pRightContainer
385 QVERIFY(pRightContainer->hasWidget(pClassAHeaderSplitView->widget()));
386 QVERIFY(pRightContainer->hasWidget(pMainWindow->activeView()->widget()));
387
388 // Now reactivate left side ClassAHeaderview
389 pMainWindow->activateView(pClassAHeaderView);
390

Callers

nothing calls this directly

Calls 15

activeSublimeWindowMethod · 0.80
openDocumentsMethod · 0.80
activeAreaMethod · 0.80
hasWidgetMethod · 0.80
createFileFunction · 0.50
countMethod · 0.45
openDocumentMethod · 0.45
pathMethod · 0.45
activeViewMethod · 0.45
createViewMethod · 0.45
addViewMethod · 0.45
activateViewMethod · 0.45

Tested by

no test coverage detected