diff options
author | Nikolai Kosjar <nikolai.kosjar@digia.com> | 2013-12-16 16:02:45 +0100 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@digia.com> | 2014-01-07 14:19:13 +0100 |
commit | 5c8df5fa4ec4a8f30261dc4d53a810f7be65df51 (patch) | |
tree | 2abcbc02f94c15f4d26a5399c1ea31b4183923e7 /src/plugins/cpptools/cpplocatorfilter_test.cpp | |
parent | 5aa8a63f90934619072242ac0f6f5fca128edd39 (diff) |
CppEditor/CppTools: Introduce Test{Case,Document}
Move common functionality of the 12 test classes into base classes.
Change-Id: If64d3cec876807ac6f991151189860a99b8ff4ca
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Diffstat (limited to 'src/plugins/cpptools/cpplocatorfilter_test.cpp')
-rw-r--r-- | src/plugins/cpptools/cpplocatorfilter_test.cpp | 55 |
1 files changed, 17 insertions, 38 deletions
diff --git a/src/plugins/cpptools/cpplocatorfilter_test.cpp b/src/plugins/cpptools/cpplocatorfilter_test.cpp index 02262ccf6c8..8c7040e817f 100644 --- a/src/plugins/cpptools/cpplocatorfilter_test.cpp +++ b/src/plugins/cpptools/cpplocatorfilter_test.cpp @@ -34,6 +34,7 @@ #include "cppfunctionsfilter.h" #include "cpplocatorfilter.h" #include "cppmodelmanager.h" +#include "cpptoolstestcase.h" #include <coreplugin/editormanager/editormanager.h> #include <coreplugin/testdatadir.h> @@ -58,69 +59,53 @@ Q_DECLARE_METATYPE(ILocatorFilter *) namespace { -class MyTestDataDir : public Core::Internal::Tests::TestDataDir -{ -public: - MyTestDataDir(const QString &testDataDirectory) - : TestDataDir(QLatin1String(SRCDIR "/../../../tests/cpplocators/") + testDataDirectory) {} -}; +QTC_DECLARE_MYTESTDATADIR("../../../tests/cpplocators/") + +inline QString _(const QByteArray &ba) { return QString::fromLatin1(ba, ba.size()); } -class CppLocatorFilterTest : public BasicLocatorFilterTest +} // anonymous namespace + +class CppLocatorFilterTest : public BasicLocatorFilterTest, public CppTools::Tests::TestCase { public: CppLocatorFilterTest(ILocatorFilter *filter, const QString &fileName) : BasicLocatorFilterTest(filter) - , m_modelManager(CppModelManager::instance()) , m_fileName(fileName) { QVERIFY(!m_fileName.isEmpty()); - m_modelManager->GC(); - QVERIFY(m_modelManager->snapshot().isEmpty()); + QVERIFY(garbageCollectGlobalSnapshot()); } private: - virtual void doBeforeLocatorRun() - { - m_modelManager->updateSourceFiles(QStringList() << m_fileName).waitForFinished(); - QCoreApplication::processEvents(); - QVERIFY(m_modelManager->snapshot().contains(m_fileName)); - } - - virtual void doAfterLocatorRun() - { - m_modelManager->GC(); - QVERIFY(m_modelManager->snapshot().isEmpty()); - } + virtual void doBeforeLocatorRun() { QVERIFY(parseFiles(m_fileName)); } + virtual void doAfterLocatorRun() { QVERIFY(garbageCollectGlobalSnapshot()); } - CppModelManager *m_modelManager; const QString m_fileName; }; -class CppCurrentDocumentFilterTest : public BasicLocatorFilterTest +class CppCurrentDocumentFilterTest + : public BasicLocatorFilterTest + , public CppTools::Tests::TestCase { public: CppCurrentDocumentFilterTest(const QString &fileName) : BasicLocatorFilterTest(PluginManager::getObject<CppCurrentDocumentFilter>()) - , m_modelManager(CppModelManager::instance()) , m_editor(0) , m_fileName(fileName) { QVERIFY(!m_fileName.isEmpty()); - m_modelManager->GC(); - QVERIFY(m_modelManager->snapshot().isEmpty()); } private: virtual void doBeforeLocatorRun() { QVERIFY(EditorManager::documentModel()->openedDocuments().isEmpty()); - m_modelManager->GC(); - QVERIFY(m_modelManager->snapshot().isEmpty()); + QVERIFY(garbageCollectGlobalSnapshot()); m_editor = EditorManager::openEditor(m_fileName); QVERIFY(m_editor); - while (!m_modelManager->snapshot().contains(m_fileName)) - QCoreApplication::processEvents(); + + waitForFileInGlobalSnapshot(m_fileName); } virtual void doAfterLocatorRun() @@ -128,19 +113,13 @@ private: EditorManager::closeEditor(m_editor, /*askAboutModifiedEditors=*/ false); QCoreApplication::processEvents(); QVERIFY(EditorManager::documentModel()->openedDocuments().isEmpty()); - m_modelManager->GC(); - QVERIFY(m_modelManager->snapshot().isEmpty()); + QVERIFY(garbageCollectGlobalSnapshot()); } - CppModelManager *m_modelManager; IEditor *m_editor; const QString m_fileName; }; -inline QString _(const QByteArray &ba) { return QString::fromLatin1(ba, ba.size()); } - -} // anonymous namespace - void CppToolsPlugin::test_cpplocatorfilters_CppLocatorFilter() { QFETCH(QString, testFile); |