void AutoTestUnitTests::testCodeParserSwitchStartup() { QFETCH(QStringList, projectFilePaths); QFETCH(QList<int>, expectedAutoTestsCount); QFETCH(QList<int>, expectedNamedQuickTestsCount); QFETCH(QList<int>, expectedUnnamedQuickTestsCount); QFETCH(QList<int>, expectedDataTagsCount); NavigationWidget *navigation = NavigationWidget::instance(); navigation->activateSubWidget(Constants::AUTOTEST_ID); CppTools::Tests::ProjectOpenerAndCloser projectManager; for (int i = 0; i < projectFilePaths.size(); ++i) { qDebug() << "Opening project" << projectFilePaths.at(i); CppTools::ProjectInfo projectInfo = projectManager.open(projectFilePaths.at(i), true); QVERIFY(projectInfo.isValid()); QSignalSpy parserSpy(m_model->parser(), SIGNAL(parsingFinished())); QVERIFY(parserSpy.wait(20000)); QCOMPARE(m_model->autoTestsCount(), expectedAutoTestsCount.at(i)); QCOMPARE(m_model->namedQuickTestsCount(), m_isQt4 ? 0 : expectedNamedQuickTestsCount.at(i)); QCOMPARE(m_model->unnamedQuickTestsCount(), m_isQt4 ? 0 : expectedUnnamedQuickTestsCount.at(i)); QCOMPARE(m_model->dataTagsCount(), expectedDataTagsCount.at(i)); } }
void CppEditorPlugin::openIncludeHierarchy() { if (currentCppEditorWidget()) { NavigationWidget *navigation = NavigationWidget::instance(); navigation->activateSubWidget(Id(Constants::INCLUDE_HIERARCHY_ID)); emit includeHierarchyRequested(); } }
void CppEditorPlugin::openTypeHierarchy() { if (currentCppEditorWidget()) { NavigationWidget *navigation = NavigationWidget::instance(); navigation->activateSubWidget(Constants::TYPE_HIERARCHY_ID); emit typeHierarchyRequested(); } }
Core::NavigationView NavigationWidgetFactory::createWidget() { Core::NavigationView n; NavigationWidget *ptw = new NavigationWidget; n.widget = ptw; QToolButton * toggleSync = new QToolButton; toggleSync->setIcon( QIcon(":/core/images/linkicon.png")); toggleSync->setCheckable( true ); toggleSync->setChecked( ptw->autoSyncronization() ); toggleSync->setToolTip( tr("Synchronize with Editor" ) ); // filter->setPopupMode( QToolButton:: InstantPopup ); connect( toggleSync, SIGNAL(clicked(bool)), ptw, SLOT( toggleAutoSynchronization() ) ); n.dockToolBarWidgets << toggleSync; return n; }
void AutoTestUnitTests::testCodeParserGTest() { if (qgetenv("GOOGLETEST_DIR").isEmpty()) QSKIP("This test needs googletest - set GOOGLETEST_DIR (point to googletest repository)"); NavigationWidget *navigation = NavigationWidget::instance(); navigation->activateSubWidget(Constants::AUTOTEST_ID); CppTools::Tests::ProjectOpenerAndCloser projectManager; CppTools::ProjectInfo projectInfo = projectManager.open( QString(m_tmpDir->path() + QLatin1String("/simple_gt/simple_gt.pro")), true); QVERIFY(projectInfo.isValid()); QSignalSpy parserSpy(m_model->parser(), SIGNAL(parsingFinished())); QVERIFY(parserSpy.wait(20000)); QCOMPARE(m_model->gtestNamesCount(), 6); QMultiMap<QString, int> expectedNamesAndSets; expectedNamesAndSets.insert(QStringLiteral("FactorialTest"), 3); expectedNamesAndSets.insert(QStringLiteral("FactorialTest_Iterative"), 2); expectedNamesAndSets.insert(QStringLiteral("Sum"), 2); expectedNamesAndSets.insert(QStringLiteral("QueueTest"), 2); expectedNamesAndSets.insert(QStringLiteral("DummyTest"), 1); // used as parameterized test expectedNamesAndSets.insert(QStringLiteral("DummyTest"), 1); // used as 'normal' test QMultiMap<QString, int> foundNamesAndSets = m_model->gtestNamesAndSets(); QCOMPARE(expectedNamesAndSets.size(), foundNamesAndSets.size()); foreach (const QString &name, expectedNamesAndSets.keys()) QCOMPARE(expectedNamesAndSets.values(name), foundNamesAndSets.values(name)); // check also that no Qt related tests have been found QCOMPARE(m_model->autoTestsCount(), 0); QCOMPARE(m_model->namedQuickTestsCount(), 0); QCOMPARE(m_model->unnamedQuickTestsCount(), 0); QCOMPARE(m_model->dataTagsCount(), 0); }
// This function does work even though the order in which // the placeHolder get the signal is undefined. // It does ensure that after all PlaceHolders got the signal // m_current points to the current PlaceHolder, or zero if there // is no PlaceHolder in this mode // And that the parent of the NavigationWidget gets the correct parent void NavigationWidgetPlaceHolder::currentModeAboutToChange(Core::IMode *mode) { NavigationWidget *navigationWidget = NavigationWidget::instance(); if (m_current == this) { m_current = 0; navigationWidget->setParent(0); navigationWidget->hide(); navigationWidget->placeHolderChanged(m_current); } if (m_mode == mode) { m_current = this; int width = navigationWidget->storedWidth(); layout()->addWidget(navigationWidget); navigationWidget->show(); applyStoredSize(width); setVisible(navigationWidget->isShown()); navigationWidget->placeHolderChanged(m_current); } }