CppEditor tests: work on documents instead of editors

Change-Id: I27964a585996f9838a87856fd68067ce29ce755a
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This commit is contained in:
Eike Ziller
2013-07-09 13:41:15 +02:00
parent 3aae830241
commit 43a3334347

View File

@@ -103,7 +103,7 @@ public:
static void escape(); static void escape();
/// Undoing changes /// Undoing changes
static void undoChangesInEditorWidget(BaseTextEditorWidget *editorWidget); static void undoChangesInDocument(BaseTextDocument *editorDocument);
static void undoChangesInAllEditorWidgets(); static void undoChangesInAllEditorWidgets();
/// Execute actions for the current cursor position of editorWidget. /// Execute actions for the current cursor position of editorWidget.
@@ -173,10 +173,10 @@ void TestActionsTestCase::run(const Actions &tokenActions, const Actions &fileAc
undoAllChangesAndCloseAllEditors(); undoAllChangesAndCloseAllEditors();
// Open editor // Open editor
QCOMPARE(em->openedEditors().size(), 0); QCOMPARE(EditorManager::documentModel()->openedDocuments().size(), 0);
CPPEditor *editor = dynamic_cast<CPPEditor *>(em->openEditor(filePath)); CPPEditor *editor = dynamic_cast<CPPEditor *>(em->openEditor(filePath));
QVERIFY(editor); QVERIFY(editor);
QCOMPARE(em->openedEditors().size(), 1); QCOMPARE(EditorManager::documentModel()->openedDocuments().size(), 1);
QVERIFY(mm->isCppEditor(editor)); QVERIFY(mm->isCppEditor(editor));
QVERIFY(mm->workingCopy().contains(filePath)); QVERIFY(mm->workingCopy().contains(filePath));
@@ -250,21 +250,19 @@ void TestActionsTestCase::escape()
QTest::keyClick(w, Qt::Key_Escape); QTest::keyClick(w, Qt::Key_Escape);
} }
void TestActionsTestCase::undoChangesInEditorWidget(BaseTextEditorWidget *editorWidget) void TestActionsTestCase::undoChangesInDocument(BaseTextDocument *editorDocument)
{ {
QTextDocument * const document = editorWidget->document(); QTextDocument * const document = editorDocument->document();
QVERIFY(document); QVERIFY(document);
while (document->isUndoAvailable()) while (document->isUndoAvailable())
editorWidget->undo(); document->undo();
} }
void TestActionsTestCase::undoChangesInAllEditorWidgets() void TestActionsTestCase::undoChangesInAllEditorWidgets()
{ {
EditorManager *em = EditorManager::instance(); foreach (IDocument *document, EditorManager::documentModel()->openedDocuments()) {
foreach (IEditor *editor, em->openedEditors()) { BaseTextDocument *baseTextDocument = qobject_cast<BaseTextDocument *>(document);
BaseTextEditor *baseTextEditor = qobject_cast<BaseTextEditor*>(editor); undoChangesInDocument(baseTextDocument);
BaseTextEditorWidget *baseTextEditorWidget = baseTextEditor->editorWidget();
undoChangesInEditorWidget(baseTextEditorWidget);
} }
} }
@@ -304,7 +302,7 @@ void TestActionsTestCase::undoAllChangesAndCloseAllEditors()
undoChangesInAllEditorWidgets(); undoChangesInAllEditorWidgets();
em->closeAllEditors(/*askAboutModifiedEditors =*/ false); em->closeAllEditors(/*askAboutModifiedEditors =*/ false);
QApplication::processEvents(); QApplication::processEvents();
QCOMPARE(em->openedEditors().size(), 0); QCOMPARE(EditorManager::documentModel()->openedDocuments().size(), 0);
} }
void TestActionsTestCase::configureAllProjects(const QList<QPointer<ProjectExplorer::Project> > void TestActionsTestCase::configureAllProjects(const QList<QPointer<ProjectExplorer::Project> >
@@ -442,7 +440,8 @@ void InvokeCompletionTokenAction::run(CPPEditorWidget *editorWidget)
// editorWidget->setFocus(); // editorWidget->setFocus();
QApplication::processEvents(); QApplication::processEvents();
TestActionsTestCase::undoChangesInEditorWidget(editorWidget); BaseTextDocument *doc = qobject_cast<BaseTextDocument *>(editorWidget->editorDocument());
TestActionsTestCase::undoChangesInDocument(doc);
} }
class RunAllQuickFixesTokenAction : public TestActionsTestCase::AbstractAction class RunAllQuickFixesTokenAction : public TestActionsTestCase::AbstractAction