forked from qt-creator/qt-creator
CppEditor tests: work on documents instead of editors
Change-Id: I27964a585996f9838a87856fd68067ce29ce755a Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user