diff options
author | Marco Bubke <marco.bubke@qt.io> | 2017-11-29 18:03:48 +0100 |
---|---|---|
committer | Marco Bubke <marco.bubke@qt.io> | 2017-12-05 10:26:39 +0000 |
commit | 21ce7386e967c83c1c88408c84c7bd1b6c143aa4 (patch) | |
tree | 35327eacb389abb237970c1adf9bfe68cf95add9 /tests | |
parent | f3164c5a9122320c7f921bde87e4c1373754b1ae (diff) |
UnitTests: Cleanup SourceRange test
Change-Id: Icd9ef74385bb35a4fe1f2f8142b4bf677eb7d389
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/unit/unittest/sourcerange-test.cpp | 46 |
1 files changed, 14 insertions, 32 deletions
diff --git a/tests/unit/unittest/sourcerange-test.cpp b/tests/unit/unittest/sourcerange-test.cpp index 5665b46573e..3605d997fdf 100644 --- a/tests/unit/unittest/sourcerange-test.cpp +++ b/tests/unit/unittest/sourcerange-test.cpp @@ -24,6 +24,7 @@ ****************************************************************************/ #include "googletest.h" +#include "documentparser-utility.h" #include "testenvironment.h" #include <clangtranslationunit.h> @@ -72,28 +73,7 @@ MATCHER_P4(IsSourceLocation, filePath, line, column, offset, return true; } -struct SourceRangeData { - SourceRangeData(Document &document) - : diagnosticSet{document.translationUnit().diagnostics()} - , diagnostic{diagnosticSet.front()} - , diagnosticWithFilteredOutInvalidRange{diagnosticSet.at(1)} - , sourceRange{diagnostic.ranges().front()} - { - } - - DiagnosticSet diagnosticSet; - Diagnostic diagnostic; - Diagnostic diagnosticWithFilteredOutInvalidRange; - ::SourceRange sourceRange; -}; - struct Data { - Data() - { - document.parse(); - d.reset(new SourceRangeData(document)); - } - ProjectPart projectPart{Utf8StringLiteral("projectPartId"), TestEnvironment::addPlatformArguments({Utf8StringLiteral("-pedantic")})}; ClangBackEnd::ProjectParts projects; @@ -104,12 +84,15 @@ struct Data { projectPart, Utf8StringVector(), documents}; + UnitTest::DocumentParser documentParser{document}; TranslationUnit translationUnit{filePath, filePath, document.translationUnit().cxIndex(), document.translationUnit().cxTranslationUnit()}; - - std::unique_ptr<SourceRangeData> d; + DiagnosticSet diagnosticSet{document.translationUnit().diagnostics()}; + Diagnostic diagnostic{diagnosticSet.front()}; + Diagnostic diagnosticWithFilteredOutInvalidRange{diagnosticSet.at(1)}; + ClangBackEnd::SourceRange sourceRange{diagnostic.ranges().front()}; }; class SourceRange : public ::testing::Test @@ -119,11 +102,11 @@ public: static void TearDownTestCase(); protected: - static Data *d; - const ::SourceRange &sourceRange = d->d->sourceRange; - const Diagnostic &diagnostic = d->d->diagnostic; - const Diagnostic &diagnosticWithFilteredOutInvalidRange = d->d->diagnosticWithFilteredOutInvalidRange; - const TranslationUnit &translationUnit = d->translationUnit; + static std::unique_ptr<const Data> data; + const ::SourceRange &sourceRange = data->sourceRange; + const Diagnostic &diagnostic = data->diagnostic; + const Diagnostic &diagnosticWithFilteredOutInvalidRange = data->diagnosticWithFilteredOutInvalidRange; + const TranslationUnit &translationUnit = data->translationUnit; }; TEST_F(SourceRange, IsNull) @@ -178,17 +161,16 @@ TEST_F(SourceRange, InvalidRangeIsFilteredOut) ASSERT_THAT(diagnosticWithFilteredOutInvalidRange.ranges(), IsEmpty()); } -Data *SourceRange::d; +std::unique_ptr<const Data> SourceRange::data; void SourceRange::SetUpTestCase() { - d = new Data; + data = std::make_unique<const Data>(); } void SourceRange::TearDownTestCase() { - delete d; - d = nullptr; + data.reset(); } } |