CppEditor: Fix tests

Change-Id: I9e656bc13109603a877b3685c122c4d2a467fd62
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Artem Sokolovskii
2023-12-14 12:58:52 +01:00
parent 4a8e22e3f2
commit 2c91d4b472
2 changed files with 40 additions and 11 deletions

View File

@@ -6,6 +6,7 @@
#include <cplusplus/MatchingText.h>
#include <texteditor/tabsettings.h>
#include <texteditor/syntaxhighlighterrunner.h>
#include <QTextBlock>
#include <QTextCursor>
@@ -182,14 +183,19 @@ static QChar closingChar(QChar c)
return QChar();
}
static QTextCursor openEditor(const QString &text)
static TextEditor::BaseTextEditor *creteCppEditor(const QString &text)
{
QTextCursor tc;
QString name(QLatin1String("auto_complete_test"));
Core::IEditor *editor = Core::EditorManager::openEditorWithContents(
Constants::CPPEDITOR_ID, &name, text.toLocal8Bit());
Constants::CPPEDITOR_ID, &name, text.toLocal8Bit());
return qobject_cast<TextEditor::BaseTextEditor *>(editor);
}
static QTextCursor openEditor(TextEditor::BaseTextEditor *cppEditor)
{
QTextCursor tc;
const auto cppEditor = qobject_cast<TextEditor::BaseTextEditor *>(editor);
if (cppEditor == 0)
return tc;
tc = cppEditor->editorWidget()->textCursor();
@@ -268,7 +274,12 @@ void AutoCompleterTest::testAutoComplete()
QVERIFY(text.contains(QLatin1Char('|')));
const QScopeGuard cleanup([] { Core::EditorManager::closeAllEditors(false); });
QTextCursor tc = openEditor(text);
TextEditor::BaseTextEditor *cppEditor = creteCppEditor(text);
QVERIFY(cppEditor);
QTRY_VERIFY(cppEditor->textDocument()->syntaxHighlighterRunner()->syntaxInfoUpdated());
QTextCursor tc = openEditor(cppEditor);
QTRY_VERIFY(cppEditor->textDocument()->syntaxHighlighterRunner()->syntaxInfoUpdated());
QVERIFY(!tc.isNull());
@@ -327,7 +338,11 @@ void AutoCompleterTest::testSurroundWithSelection()
QVERIFY(text.count(QLatin1Char('|')) == 2);
const QScopeGuard cleanup([] { Core::EditorManager::closeAllEditors(false); });
QTextCursor tc = openEditor(text);
TextEditor::BaseTextEditor *cppEditor = creteCppEditor(text);
QVERIFY(cppEditor);
QTRY_VERIFY(cppEditor->textDocument()->syntaxHighlighterRunner()->syntaxInfoUpdated());
QTextCursor tc = openEditor(cppEditor);
QTRY_VERIFY(cppEditor->textDocument()->syntaxHighlighterRunner()->syntaxInfoUpdated());
QVERIFY(!tc.isNull());
@@ -360,7 +375,11 @@ void AutoCompleterTest::testAutoBackspace()
QVERIFY(text.contains(QLatin1Char('|')));
const QScopeGuard cleanup([] { Core::EditorManager::closeAllEditors(false); });
QTextCursor tc = openEditor(text);
TextEditor::BaseTextEditor *cppEditor = creteCppEditor(text);
QVERIFY(cppEditor);
QTRY_VERIFY(cppEditor->textDocument()->syntaxHighlighterRunner()->syntaxInfoUpdated());
QTextCursor tc = openEditor(cppEditor);
QTRY_VERIFY(cppEditor->textDocument()->syntaxHighlighterRunner()->syntaxInfoUpdated());
QVERIFY(!tc.isNull());
@@ -400,7 +419,11 @@ void AutoCompleterTest::testInsertParagraph()
QVERIFY(text.contains(QLatin1Char('|')));
const QScopeGuard cleanup([] { Core::EditorManager::closeAllEditors(false); });
QTextCursor tc = openEditor(text);
TextEditor::BaseTextEditor *cppEditor = creteCppEditor(text);
QVERIFY(cppEditor);
QTRY_VERIFY(cppEditor->textDocument()->syntaxHighlighterRunner()->syntaxInfoUpdated());
QTextCursor tc = openEditor(cppEditor);
QTRY_VERIFY(cppEditor->textDocument()->syntaxHighlighterRunner()->syntaxInfoUpdated());
QVERIFY(!tc.isNull());

View File

@@ -8,10 +8,11 @@
#include "cppmodelmanager.h"
#include "cpptoolstestcase.h"
#include <texteditor/codeassist/iassistproposal.h>
#include <texteditor/texteditor.h>
#include <texteditor/textdocument.h>
#include <coreplugin/editormanager/editormanager.h>
#include <texteditor/codeassist/iassistproposal.h>
#include <texteditor/syntaxhighlighterrunner.h>
#include <texteditor/textdocument.h>
#include <texteditor/texteditor.h>
#include <utils/algorithm.h>
#include <utils/changeset.h>
@@ -61,6 +62,11 @@ public:
// Open in editor
m_editor = EditorManager::openEditor(filePath);
QVERIFY(m_editor);
TextEditor::BaseTextEditor *cppEditor = qobject_cast<TextEditor::BaseTextEditor *>(m_editor);
QVERIFY(cppEditor);
QTRY_VERIFY(cppEditor->textDocument()->syntaxHighlighterRunner()->syntaxInfoUpdated());
closeEditorAtEndOfTestCase(m_editor);
m_editorWidget = TextEditorWidget::fromEditor(m_editor);
QVERIFY(m_editorWidget);