diff options
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanager_test.cpp')
-rw-r--r-- | src/plugins/cpptools/cppmodelmanager_test.cpp | 54 |
1 files changed, 12 insertions, 42 deletions
diff --git a/src/plugins/cpptools/cppmodelmanager_test.cpp b/src/plugins/cpptools/cppmodelmanager_test.cpp index 92bbebf91d..0248e3ac8e 100644 --- a/src/plugins/cpptools/cppmodelmanager_test.cpp +++ b/src/plugins/cpptools/cppmodelmanager_test.cpp @@ -108,14 +108,12 @@ public: projectInfo = ProjectInfo(project); ProjectPart::Ptr part(new ProjectPart); - part->languageVersion = ProjectPart::CXX14; part->qtVersion = ProjectPart::Qt5; foreach (const QString &file, projectFiles) { ProjectFile projectFile(file, ProjectFile::classify(file)); part->files.append(projectFile); } projectInfo.appendProjectPart(part); - projectInfo.finish(); } ModelManagerTestHelper *modelManagerTestHelper; @@ -169,7 +167,7 @@ ProjectPart::Ptr projectPartOfEditorDocument(const QString &filePath) { auto *editorDocument = CppModelManager::instance()->cppEditorDocument(filePath); QTC_ASSERT(editorDocument, return ProjectPart::Ptr()); - return editorDocument->processor()->parser()->projectPart(); + return editorDocument->processor()->parser()->projectPartInfo().projectPart; } } // anonymous namespace @@ -188,13 +186,11 @@ void CppToolsPlugin::test_modelmanager_paths_are_clean() typedef ProjectPartHeaderPath HeaderPath; ProjectPart::Ptr part(new ProjectPart); - part->languageVersion = ProjectPart::CXX14; part->qtVersion = ProjectPart::Qt5; part->projectDefines = QByteArray("#define OH_BEHAVE -1\n"); part->headerPaths = { HeaderPath(testDataDir.includeDir(false), HeaderPath::IncludePath), HeaderPath(testDataDir.frameworksDir(false), HeaderPath::FrameworkPath) }; pi.appendProjectPart(part); - pi.finish(); mm->updateProjectInfo(pi); @@ -222,7 +218,6 @@ void CppToolsPlugin::test_modelmanager_framework_headers() typedef ProjectPartHeaderPath HeaderPath; ProjectPart::Ptr part(new ProjectPart); - part->languageVersion = ProjectPart::CXX14; part->qtVersion = ProjectPart::Qt5; part->projectDefines = QByteArray("#define OH_BEHAVE -1\n"); part->headerPaths = { HeaderPath(testDataDir.includeDir(false), HeaderPath::IncludePath), @@ -231,7 +226,6 @@ void CppToolsPlugin::test_modelmanager_framework_headers() _("test_modelmanager_framework_headers.cpp")); part->files << ProjectFile(source, ProjectFile::CXXSource); pi.appendProjectPart(part); - pi.finish(); mm->updateProjectInfo(pi).waitForFinished(); QCoreApplication::processEvents(); @@ -273,13 +267,11 @@ void CppToolsPlugin::test_modelmanager_refresh_also_includes_of_project_files() typedef ProjectPartHeaderPath HeaderPath; ProjectPart::Ptr part(new ProjectPart); - part->languageVersion = ProjectPart::CXX14; part->qtVersion = ProjectPart::Qt5; part->projectDefines = QByteArray("#define OH_BEHAVE -1\n"); part->headerPaths = { HeaderPath(testDataDir.includeDir(false), HeaderPath::IncludePath) }; part->files.append(ProjectFile(testCpp, ProjectFile::CXXSource)); pi.appendProjectPart(part); - pi.finish(); QSet<QString> refreshedFiles = helper.updateProjectInfo(pi); QCOMPARE(refreshedFiles.size(), 1); @@ -297,7 +289,6 @@ void CppToolsPlugin::test_modelmanager_refresh_also_includes_of_project_files() part->projectDefines = QByteArray("#define TEST_DEFINE 1\n"); pi = ProjectInfo(project); pi.appendProjectPart(part); - pi.finish(); refreshedFiles = helper.updateProjectInfo(pi); @@ -332,13 +323,11 @@ void CppToolsPlugin::test_modelmanager_refresh_several_times() ProjectInfo pi = ProjectInfo(project); ProjectPart::Ptr part(new ProjectPart); - part->languageVersion = ProjectPart::CXX14; part->qtVersion = ProjectPart::Qt5; part->files.append(ProjectFile(testHeader1, ProjectFile::CXXHeader)); part->files.append(ProjectFile(testHeader2, ProjectFile::CXXHeader)); part->files.append(ProjectFile(testCpp, ProjectFile::CXXSource)); pi.appendProjectPart(part); - pi.finish(); mm->updateProjectInfo(pi); CPlusPlus::Snapshot snapshot; @@ -352,13 +341,11 @@ void CppToolsPlugin::test_modelmanager_refresh_several_times() // Simulate project configuration change by having different defines each time. defines += "\n#define ANOTHER_DEFINE"; part->projectDefines = defines; - part->languageVersion = ProjectPart::CXX14; part->qtVersion = ProjectPart::Qt5; part->files.append(ProjectFile(testHeader1, ProjectFile::CXXHeader)); part->files.append(ProjectFile(testHeader2, ProjectFile::CXXHeader)); part->files.append(ProjectFile(testCpp, ProjectFile::CXXSource)); pi.appendProjectPart(part); - pi.finish(); refreshedFiles = helper.updateProjectInfo(pi); QCOMPARE(refreshedFiles.size(), 3); @@ -398,11 +385,9 @@ void CppToolsPlugin::test_modelmanager_refresh_test_for_changes() ProjectInfo pi = ProjectInfo(project); ProjectPart::Ptr part(new ProjectPart); - part->languageVersion = ProjectPart::CXX14; part->qtVersion = ProjectPart::Qt5; part->files.append(ProjectFile(testCpp, ProjectFile::CXXSource)); pi.appendProjectPart(part); - pi.finish(); // Reindexing triggers a reparsing thread helper.resetRefreshedSourceFiles(); @@ -435,12 +420,10 @@ void CppToolsPlugin::test_modelmanager_refresh_added_and_purge_removed() ProjectInfo pi = ProjectInfo(project); ProjectPart::Ptr part(new ProjectPart); - part->languageVersion = ProjectPart::CXX14; part->qtVersion = ProjectPart::Qt5; part->files.append(ProjectFile(testCpp, ProjectFile::CXXSource)); part->files.append(ProjectFile(testHeader1, ProjectFile::CXXHeader)); pi.appendProjectPart(part); - pi.finish(); CPlusPlus::Snapshot snapshot; QSet<QString> refreshedFiles; @@ -458,12 +441,10 @@ void CppToolsPlugin::test_modelmanager_refresh_added_and_purge_removed() // Now add testHeader2 and remove testHeader1 pi = ProjectInfo(project); ProjectPart::Ptr newPart(new ProjectPart); - newPart->languageVersion = ProjectPart::CXX14; newPart->qtVersion = ProjectPart::Qt5; newPart->files.append(ProjectFile(testCpp, ProjectFile::CXXSource)); newPart->files.append(ProjectFile(testHeader2, ProjectFile::CXXHeader)); pi.appendProjectPart(newPart); - pi.finish(); refreshedFiles = helper.updateProjectInfo(pi); @@ -499,13 +480,11 @@ void CppToolsPlugin::test_modelmanager_refresh_timeStampModified_if_sourcefiles_ ProjectInfo pi = ProjectInfo(project); ProjectPart::Ptr part(new ProjectPart); - part->languageVersion = ProjectPart::CXX14; part->qtVersion = ProjectPart::Qt5; foreach (const QString &file, initialProjectFiles) part->files.append(ProjectFile(file, ProjectFile::CXXSource)); pi = ProjectInfo(project); pi.appendProjectPart(part); - pi.finish(); Document::Ptr document; CPlusPlus::Snapshot snapshot; @@ -539,7 +518,6 @@ void CppToolsPlugin::test_modelmanager_refresh_timeStampModified_if_sourcefiles_ part->files.append(ProjectFile(file, ProjectFile::CXXSource)); pi = ProjectInfo(project); pi.appendProjectPart(part); - pi.finish(); refreshedFiles = helper.updateProjectInfo(pi); @@ -644,7 +622,7 @@ void CppToolsPlugin::test_modelmanager_extraeditorsupport_uiFiles() CppModelManager *mm = CppModelManager::instance(); WorkingCopy workingCopy = mm->workingCopy(); - QCOMPARE(workingCopy.size(), 2); // mm->configurationFileName() and "ui_*.h" + QCOMPARE(workingCopy.size(), 1); QStringList fileNamesInWorkinCopy; QHashIterator<Utils::FileName, QPair<QByteArray, unsigned> > it = workingCopy.iterator(); @@ -654,8 +632,7 @@ void CppToolsPlugin::test_modelmanager_extraeditorsupport_uiFiles() } fileNamesInWorkinCopy.sort(); const QString expectedUiHeaderFileName = _("ui_mainwindow.h"); - QCOMPARE(fileNamesInWorkinCopy.at(0), mm->configurationFileName()); - QCOMPARE(fileNamesInWorkinCopy.at(1), expectedUiHeaderFileName); + QCOMPARE(fileNamesInWorkinCopy.at(0), expectedUiHeaderFileName); // Check CppSourceProcessor / includes. // The CppSourceProcessor is expected to find the ui_* file in the working copy. @@ -787,7 +764,6 @@ void CppToolsPlugin::test_modelmanager_defines_per_project() part1->projectFile = QLatin1String("project1.projectfile"); part1->files.append(ProjectFile(main1File, ProjectFile::CXXSource)); part1->files.append(ProjectFile(header, ProjectFile::CXXHeader)); - part1->languageVersion = ProjectPart::CXX11; part1->qtVersion = ProjectPart::NoQt; part1->projectDefines = QByteArray("#define SUB1\n"); part1->headerPaths = { HeaderPath(testDataDirectory.includeDir(false), HeaderPath::IncludePath) }; @@ -796,7 +772,6 @@ void CppToolsPlugin::test_modelmanager_defines_per_project() part2->projectFile = QLatin1String("project1.projectfile"); part2->files.append(ProjectFile(main2File, ProjectFile::CXXSource)); part2->files.append(ProjectFile(header, ProjectFile::CXXHeader)); - part2->languageVersion = ProjectPart::CXX11; part2->qtVersion = ProjectPart::NoQt; part2->projectDefines = QByteArray("#define SUB2\n"); part2->headerPaths = { HeaderPath(testDataDirectory.includeDir(false), HeaderPath::IncludePath) }; @@ -804,10 +779,9 @@ void CppToolsPlugin::test_modelmanager_defines_per_project() ProjectInfo pi = ProjectInfo(project); pi.appendProjectPart(part1); pi.appendProjectPart(part2); - pi.finish(); helper.updateProjectInfo(pi); - QCOMPARE(mm->snapshot().size(), 4); + QCOMPARE(mm->snapshot().size(), 3); // Open a file in the editor QCOMPARE(Core::DocumentModel::openedDocuments().size(), 0); @@ -856,27 +830,26 @@ void CppToolsPlugin::test_modelmanager_precompiled_headers() part1->projectFile = QLatin1String("project1.projectfile"); part1->files.append(ProjectFile(main1File, ProjectFile::CXXSource)); part1->files.append(ProjectFile(header, ProjectFile::CXXHeader)); - part1->languageVersion = ProjectPart::CXX11; part1->qtVersion = ProjectPart::NoQt; part1->precompiledHeaders.append(pch1File); part1->headerPaths = { HeaderPath(testDataDirectory.includeDir(false), HeaderPath::IncludePath) }; + part1->updateLanguageFeatures(); ProjectPart::Ptr part2(new ProjectPart); part2->projectFile = QLatin1String("project2.projectfile"); part2->files.append(ProjectFile(main2File, ProjectFile::CXXSource)); part2->files.append(ProjectFile(header, ProjectFile::CXXHeader)); - part2->languageVersion = ProjectPart::CXX11; part2->qtVersion = ProjectPart::NoQt; part2->precompiledHeaders.append(pch2File); part2->headerPaths = { HeaderPath(testDataDirectory.includeDir(false), HeaderPath::IncludePath) }; + part2->updateLanguageFeatures(); ProjectInfo pi = ProjectInfo(project); pi.appendProjectPart(part1); pi.appendProjectPart(part2); - pi.finish(); helper.updateProjectInfo(pi); - QCOMPARE(mm->snapshot().size(), 4); + QCOMPARE(mm->snapshot().size(), 3); // Open a file in the editor QCOMPARE(Core::DocumentModel::openedDocuments().size(), 0); @@ -906,7 +879,8 @@ void CppToolsPlugin::test_modelmanager_precompiled_headers() BaseEditorDocumentParser::Configuration config = parser->configuration(); config.usePrecompiledHeaders = true; parser->setConfiguration(config); - parser->update(CppModelManager::instance()->workingCopy()); + parser->update({CppModelManager::instance()->workingCopy(), nullptr, + Language::Cxx, false}); // Check if defines from pch are considered Document::Ptr document = mm->document(fileName); @@ -941,25 +915,22 @@ void CppToolsPlugin::test_modelmanager_defines_per_editor() ProjectPart::Ptr part1(new ProjectPart); part1->files.append(ProjectFile(main1File, ProjectFile::CXXSource)); part1->files.append(ProjectFile(header, ProjectFile::CXXHeader)); - part1->languageVersion = ProjectPart::CXX11; part1->qtVersion = ProjectPart::NoQt; part1->headerPaths = { HeaderPath(testDataDirectory.includeDir(false), HeaderPath::IncludePath) }; ProjectPart::Ptr part2(new ProjectPart); part2->files.append(ProjectFile(main2File, ProjectFile::CXXSource)); part2->files.append(ProjectFile(header, ProjectFile::CXXHeader)); - part2->languageVersion = ProjectPart::CXX11; part2->qtVersion = ProjectPart::NoQt; part2->headerPaths = { HeaderPath(testDataDirectory.includeDir(false), HeaderPath::IncludePath) }; ProjectInfo pi = ProjectInfo(project); pi.appendProjectPart(part1); pi.appendProjectPart(part2); - pi.finish(); helper.updateProjectInfo(pi); - QCOMPARE(mm->snapshot().size(), 4); + QCOMPARE(mm->snapshot().size(), 3); // Open a file in the editor QCOMPARE(Core::DocumentModel::openedDocuments().size(), 0); @@ -987,7 +958,8 @@ void CppToolsPlugin::test_modelmanager_defines_per_editor() BaseEditorDocumentParser::Configuration config = parser->configuration(); config.editorDefines = editorDefines.toUtf8(); parser->setConfiguration(config); - parser->update(CppModelManager::instance()->workingCopy()); + parser->update({CppModelManager::instance()->workingCopy(), nullptr, + Language::Cxx, false}); Document::Ptr doc = mm->document(main1File); QCOMPARE(nameOfFirstDeclaration(doc), firstDeclarationName); @@ -1030,12 +1002,10 @@ void CppToolsPlugin::test_modelmanager_updateEditorsAfterProjectUpdate() part->project = project; part->files.append(ProjectFile(fileA, ProjectFile::CXXSource)); part->files.append(ProjectFile(fileB, ProjectFile::CXXSource)); - part->languageVersion = ProjectPart::CXX11; part->qtVersion = ProjectPart::NoQt; ProjectInfo pi = ProjectInfo(project); pi.appendProjectPart(part); - pi.finish(); helper.updateProjectInfo(pi); // ... and check for updated editor document A |