File indexing completed on 2024-05-12 04:38:19
0001 /* 0002 SPDX-FileCopyrightText: 2021 Igor Kushnir <igorkuo@gmail.com> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef KDEVPLATFORM_LANGUAGECONTROLLERTESTBASE_H 0008 #define KDEVPLATFORM_LANGUAGECONTROLLERTESTBASE_H 0009 0010 #include <QObject> 0011 #include <QString> 0012 #include <QUrl> 0013 0014 #include <vector> 0015 0016 namespace KDevelop { 0017 class ILanguageController; 0018 } 0019 0020 class LanguageControllerTestBase : public QObject 0021 { 0022 Q_OBJECT 0023 0024 protected: 0025 explicit LanguageControllerTestBase(QObject* parent = nullptr); 0026 0027 private Q_SLOTS: 0028 void initTestCase(); 0029 void init(); 0030 void cleanup(); 0031 void cleanupTestCase(); 0032 0033 protected: 0034 void fillLanguageControllerMimeTypeCache() const; 0035 void matchingLanguagesForUrlInBackgroundThreadTestData() const; 0036 void matchingLanguagesForUrlTestData() const; 0037 static void nonmatchingLanguagesForUrlTestData(); 0038 0039 KDevelop::ILanguageController* m_subject = nullptr; 0040 0041 private: 0042 struct UrlEntry 0043 { 0044 QUrl url; 0045 QString languageName; 0046 }; 0047 const std::vector<UrlEntry> m_differentLanguagesUrls; 0048 }; 0049 0050 #endif // KDEVPLATFORM_LANGUAGECONTROLLERTESTBASE_H