CppEditor: Tests: Fix blocking the token tests by a pop up

Now the used QuickFixFactory InsertVirtualMethods is configured to not
generate any pop ups.

Change-Id: I36d297678d87e6fb2eb0a73fea6384f0eb7e21f0
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
This commit is contained in:
Nikolai Kosjar
2013-07-22 13:58:47 +02:00
parent fb5a5688f7
commit a8cbaa1ea1
6 changed files with 129 additions and 29 deletions

View File

@@ -34,9 +34,11 @@
#include <cppeditor/cppeditor.h>
#include <cppeditor/cppeditorplugin.h>
#include <cppeditor/cppquickfixassistant.h>
#include <cppeditor/cppquickfixes.h>
#include <cppeditor/cppquickfix.h>
#include <cpptools/cpptoolsplugin.h>
#include <cppeditor/cppquickfix_test_utils.h>
#include <cpptools/cppmodelmanagerinterface.h>
#include <cpptools/cpptoolsplugin.h>
#include <extensionsystem/pluginmanager.h>
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/project.h>
@@ -469,7 +471,19 @@ void RunAllQuickFixesTokenAction::run(CPPEditorWidget *editorWidget)
foreach (CppQuickFixFactory *quickFixFactory, quickFixFactories) {
TextEditor::QuickFixOperations operations;
quickFixFactory->match(qfi, operations);
// Some Quick Fixes pop up a dialog and are therefore inappropriate for this test.
// Where possible, use a guiless version of the factory.
if (qobject_cast<InsertVirtualMethods *>(quickFixFactory)) {
QScopedPointer<CppQuickFixFactory> factoryProducingGuiLessOperations;
factoryProducingGuiLessOperations.reset(
new InsertVirtualMethods(
new InsertVirtualMethodsDialogTest(
InsertVirtualMethodsDialog::ModeOutsideClass, true)));
factoryProducingGuiLessOperations->match(qfi, operations);
} else {
quickFixFactory->match(qfi, operations);
}
foreach (QuickFixOperation::Ptr operation, operations) {
qDebug() << " -- Performing Quick Fix" << operation->description();
operation->perform();