| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | /****************************************************************************
 | 
					
						
							|  |  |  | ** | 
					
						
							|  |  |  | ** Copyright (C) 2016 The Qt Company Ltd. | 
					
						
							|  |  |  | ** Contact: https://www.qt.io/licensing/
 | 
					
						
							|  |  |  | ** | 
					
						
							|  |  |  | ** This file is part of Qt Creator. | 
					
						
							|  |  |  | ** | 
					
						
							|  |  |  | ** Commercial License Usage | 
					
						
							|  |  |  | ** Licensees holding valid commercial Qt licenses may use this file in | 
					
						
							|  |  |  | ** accordance with the commercial license agreement provided with the | 
					
						
							|  |  |  | ** Software or, alternatively, in accordance with the terms contained in | 
					
						
							|  |  |  | ** a written agreement between you and The Qt Company. For licensing terms | 
					
						
							|  |  |  | ** and conditions see https://www.qt.io/terms-conditions. For further
 | 
					
						
							|  |  |  | ** information use the contact form at https://www.qt.io/contact-us.
 | 
					
						
							|  |  |  | ** | 
					
						
							|  |  |  | ** GNU General Public License Usage | 
					
						
							|  |  |  | ** Alternatively, this file may be used under the terms of the GNU | 
					
						
							|  |  |  | ** General Public License version 3 as published by the Free Software | 
					
						
							|  |  |  | ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT | 
					
						
							|  |  |  | ** included in the packaging of this file. Please review the following | 
					
						
							|  |  |  | ** information to ensure the GNU General Public License requirements will | 
					
						
							|  |  |  | ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
 | 
					
						
							|  |  |  | ** | 
					
						
							|  |  |  | ****************************************************************************/ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-15 17:41:41 +02:00
										 |  |  | #include "googletest.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-07 10:42:12 +02:00
										 |  |  | #include <clangdocument.h>
 | 
					
						
							|  |  |  | #include <clangdocuments.h>
 | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  | #include <clangtranslationunit.h>
 | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | #include <cursor.h>
 | 
					
						
							|  |  |  | #include <clangbackendipc_global.h>
 | 
					
						
							|  |  |  | #include <clangstring.h>
 | 
					
						
							|  |  |  | #include <projectpart.h>
 | 
					
						
							|  |  |  | #include <projects.h>
 | 
					
						
							|  |  |  | #include <sourcelocation.h>
 | 
					
						
							|  |  |  | #include <sourcerange.h>
 | 
					
						
							|  |  |  | #include <highlightingmark.h>
 | 
					
						
							|  |  |  | #include <highlightingmarks.h>
 | 
					
						
							|  |  |  | #include <unsavedfiles.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-05 19:59:23 +02:00
										 |  |  | #include <clang-c/Index.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | using ClangBackEnd::Cursor; | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  | using ClangBackEnd::HighlightingTypes; | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | using ClangBackEnd::HighlightingMark; | 
					
						
							|  |  |  | using ClangBackEnd::HighlightingMarks; | 
					
						
							|  |  |  | using ClangBackEnd::HighlightingType; | 
					
						
							| 
									
										
										
										
											2016-09-07 10:42:12 +02:00
										 |  |  | using ClangBackEnd::Document; | 
					
						
							|  |  |  | using ClangBackEnd::Documents; | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  | using ClangBackEnd::TranslationUnit; | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | using ClangBackEnd::UnsavedFiles; | 
					
						
							|  |  |  | using ClangBackEnd::ProjectPart; | 
					
						
							|  |  |  | using ClangBackEnd::ClangString; | 
					
						
							|  |  |  | using ClangBackEnd::SourceRange; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | using testing::PrintToString; | 
					
						
							|  |  |  | using testing::IsNull; | 
					
						
							|  |  |  | using testing::NotNull; | 
					
						
							|  |  |  | using testing::Gt; | 
					
						
							|  |  |  | using testing::Contains; | 
					
						
							|  |  |  | using testing::EndsWith; | 
					
						
							|  |  |  | using testing::AllOf; | 
					
						
							|  |  |  | using testing::Not; | 
					
						
							|  |  |  | using testing::IsEmpty; | 
					
						
							|  |  |  | using testing::SizeIs; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | MATCHER_P4(IsHighlightingMark, line, column, length, type, | 
					
						
							|  |  |  |            std::string(negation ? "isn't " : "is ") | 
					
						
							|  |  |  |            + PrintToString(HighlightingMark(line, column, length, type)) | 
					
						
							|  |  |  |            ) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     const HighlightingMark expected(line, column, length, type); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return arg == expected; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  | MATCHER_P(HasOnlyType, type, | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  |           std::string(negation ? "isn't " : "is ") | 
					
						
							|  |  |  |           + PrintToString(type) | 
					
						
							|  |  |  |           ) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     return arg.hasOnlyType(type); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | MATCHER_P2(HasTwoTypes, firstType, secondType, | 
					
						
							|  |  |  |            std::string(negation ? "isn't " : "is ") | 
					
						
							|  |  |  |            + PrintToString(firstType) | 
					
						
							|  |  |  |            + " and " | 
					
						
							|  |  |  |            + PrintToString(secondType) | 
					
						
							|  |  |  |            ) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     return arg.hasMainType(firstType) && arg.hasMixinType(secondType); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct Data { | 
					
						
							| 
									
										
										
										
											2016-06-05 19:59:23 +02:00
										 |  |  |     Data() | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2016-09-07 10:42:12 +02:00
										 |  |  |         document.parse(); | 
					
						
							| 
									
										
										
										
											2016-06-05 19:59:23 +02:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  |     ClangBackEnd::ProjectParts projects; | 
					
						
							|  |  |  |     ClangBackEnd::UnsavedFiles unsavedFiles; | 
					
						
							| 
									
										
										
										
											2016-09-07 10:42:12 +02:00
										 |  |  |     ClangBackEnd::Documents documents{projects, unsavedFiles}; | 
					
						
							| 
									
										
										
										
											2016-06-05 19:59:23 +02:00
										 |  |  |     Utf8String filePath{Utf8StringLiteral(TESTDATA_DIR"/highlightingmarks.cpp")}; | 
					
						
							| 
									
										
										
										
											2016-09-07 10:42:12 +02:00
										 |  |  |     Document document{filePath, | 
					
						
							|  |  |  |                       ProjectPart(Utf8StringLiteral("projectPartId"), | 
					
						
							| 
									
										
										
										
											2016-09-05 18:33:37 +02:00
										 |  |  |                                   {Utf8StringLiteral("-std=c++14"), Utf8StringLiteral("-I" TESTDATA_DIR)}), | 
					
						
							| 
									
										
										
										
											2016-09-07 10:42:12 +02:00
										 |  |  |                       {}, | 
					
						
							|  |  |  |                       documents}; | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     TranslationUnit translationUnit{filePath, | 
					
						
							| 
									
										
										
										
											2016-09-13 10:41:22 +02:00
										 |  |  |                                     filePath, | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |                                     document.translationUnit().cxIndex(), | 
					
						
							|  |  |  |                                     document.translationUnit().cxTranslationUnit()}; | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class HighlightingMarks : public ::testing::Test | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | public: | 
					
						
							|  |  |  |     static void SetUpTestCase(); | 
					
						
							|  |  |  |     static void TearDownTestCase(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     SourceRange sourceRange(uint line, uint columnEnd) const; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | protected: | 
					
						
							|  |  |  |     static Data *d; | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const TranslationUnit &translationUnit = d->translationUnit; | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, CreateNullInformations) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     ::HighlightingMarks infos; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_TRUE(infos.isNull()); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, NullInformationsAreEmpty) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     ::HighlightingMarks infos; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_TRUE(infos.isEmpty()); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, IsNotNull) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto aRange = translationUnit.sourceRange(3, 1, 5, 1); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(aRange); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_FALSE(infos.isNull()); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, IteratorBeginEnd) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto aRange = translationUnit.sourceRange(3, 1, 5, 1); | 
					
						
							|  |  |  |     const auto infos = translationUnit.highlightingMarksInRange(aRange); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     const auto endIterator = std::next(infos.begin(), infos.size()); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos.end(), endIterator); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, ForFullTranslationUnitRange) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarks(); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos, AllOf(Contains(IsHighlightingMark(1u, 1u, 4u, HighlightingType::Keyword)), | 
					
						
							|  |  |  |                              Contains(IsHighlightingMark(277u, 5u, 15u, HighlightingType::Function)))); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, Size) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto range = translationUnit.sourceRange(5, 5, 5, 10); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(range); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos.size(), 1); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, DISABLED_Keyword) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(5, 12)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[0], IsHighlightingMark(5u, 5u, 6u, HighlightingType::Keyword)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, StringLiteral) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(1, 29)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[4], IsHighlightingMark(1u, 24u, 10u, HighlightingType::StringLiteral)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, Utf8StringLiteral) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(2, 33)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[4], IsHighlightingMark(2u, 24u, 12u, HighlightingType::StringLiteral)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, RawStringLiteral) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(3, 34)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[4], IsHighlightingMark(3u, 24u, 13u, HighlightingType::StringLiteral)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, CharacterLiteral) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(4, 28)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[3], IsHighlightingMark(4u, 24u, 3u, HighlightingType::StringLiteral)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, IntegerLiteral) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(23, 26)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[3], IsHighlightingMark(23u, 24u, 1u, HighlightingType::NumberLiteral)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, FloatLiteral) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(24, 29)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[3], IsHighlightingMark(24u, 24u, 4u, HighlightingType::NumberLiteral)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, FunctionDefinition) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(45, 20)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasTwoTypes(HighlightingType::Function, HighlightingType::Declaration)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, MemberFunctionDefinition) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(52, 29)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasTwoTypes(HighlightingType::Function, HighlightingType::Declaration)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, FunctionDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(55, 32)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasTwoTypes(HighlightingType::Function, HighlightingType::Declaration)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, MemberFunctionDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(59, 27)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasTwoTypes(HighlightingType::Function, HighlightingType::Declaration)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, MemberFunctionReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(104, 35)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[0], IsHighlightingMark(104u, 9u, 23u, HighlightingType::Function)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, FunctionCall) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(64, 16)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Function)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TypeConversionFunction) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(68, 20)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[1], IsHighlightingMark(68u, 14u, 3u, HighlightingType::Type)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, InbuiltTypeConversionFunction) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(69, 20)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[1], IsHighlightingMark(69u, 14u, 3u, HighlightingType::Keyword)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TypeReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(74, 13)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[0], IsHighlightingMark(74u, 5u, 3u, HighlightingType::Type)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, LocalVariable) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(79, 13)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[1], IsHighlightingMark(79u, 9u, 3u, HighlightingType::LocalVariable)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, LocalVariableDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(79, 13)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[1], IsHighlightingMark(79u, 9u, 3u, HighlightingType::LocalVariable)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, LocalVariableReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(81, 26)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[0], IsHighlightingMark(81u, 5u, 3u, HighlightingType::LocalVariable)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, LocalVariableFunctionArgumentDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(84, 45)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[5], IsHighlightingMark(84u, 41u, 3u, HighlightingType::LocalVariable)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, LocalVariableFunctionArgumentReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(86, 26)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[0], IsHighlightingMark(86u, 5u, 3u, HighlightingType::LocalVariable)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, ClassVariableDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(90, 21)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[1], IsHighlightingMark(90u, 9u, 11u, HighlightingType::Field)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, ClassVariableReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(94, 23)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[0], IsHighlightingMark(94u, 9u, 11u, HighlightingType::Field)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, StaticMethodDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(110, 25)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasTwoTypes(HighlightingType::Function, HighlightingType::Declaration)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, StaticMethodReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(114, 30)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::Function)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, Enumeration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(118, 17)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, Enumerator) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(120, 15)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Enumeration)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, EnumerationReferenceDeclarationType) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(125, 28)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, EnumerationReferenceDeclarationVariable) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(125, 28)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::LocalVariable)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, EnumerationReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(127, 30)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::LocalVariable)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, EnumeratorReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(127, 30)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::Enumeration)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, ClassForwardDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(130, 12)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, ConstructorDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(134, 13)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasTwoTypes(HighlightingType::Function, HighlightingType::Declaration)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, DestructorDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(135, 15)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasTwoTypes(HighlightingType::Function, HighlightingType::Declaration)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, ClassForwardDeclarationReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(138, 23)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, ClassTypeReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(140, 32)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, ConstructorReferenceVariable) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(140, 32)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::LocalVariable)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, UnionDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(145, 12)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, UnionDeclarationReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(150, 33)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, GlobalVariable) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(150, 33)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::GlobalVariable)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, StructDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(50, 11)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, NameSpace) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(160, 22)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, NameSpaceAlias) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(164, 38)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, UsingStructInNameSpace) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(165, 36)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[3], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, NameSpaceReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(166, 35)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, StructInNameSpaceReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(166, 35)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  | TEST_F(HighlightingMarks, VirtualFunctionDeclaration) | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(170, 35)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasTwoTypes(HighlightingType::VirtualFunction, HighlightingType::Declaration)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, DISABLED_NonVirtualFunctionCall) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(177, 46)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::Function)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, DISABLED_NonVirtualFunctionCallPointer) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(180, 54)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::Function)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, VirtualFunctionCallPointer) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(192, 51)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::VirtualFunction)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, FinalVirtualFunctionCallPointer) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(202, 61)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::Function)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, NonFinalVirtualFunctionCallPointer) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(207, 61)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::VirtualFunction)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, PlusOperator) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(224, 49)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[6], HasOnlyType(HighlightingType::Operator)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, PlusAssignOperator) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(226, 24)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::Operator)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, Comment) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(229, 14)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Comment)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, PreprocessingDirective) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(231, 37)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::Preprocessor)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, PreprocessorMacroDefinition) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(231, 37)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::PreprocessorDefinition)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, PreprocessorFunctionMacroDefinition) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(232, 47)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::PreprocessorDefinition)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, PreprocessorMacroExpansion) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(236, 27)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::PreprocessorExpansion)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, PreprocessorMacroExpansionArgument) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(236, 27)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::NumberLiteral)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, PreprocessorInclusionDirective) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(239, 18)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::StringLiteral)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, GotoLabelStatement) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(242, 12)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Label)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, GotoLabelStatementReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(244, 21)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::Label)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplateReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(254, 25)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Function)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplateTypeParameter) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(265, 135)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[3], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplateDefaultParameter) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(265, 135)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[5], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, NonTypeTemplateParameter) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(265, 135)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[8], HasOnlyType(HighlightingType::LocalVariable)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, NonTypeTemplateParameterDefaultArgument) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(265, 135)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[10], HasOnlyType(HighlightingType::NumberLiteral)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplateTemplateParameter) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(265, 135)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[17], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplateTemplateParameterDefaultArgument) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(265, 135)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[19], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplateFunctionDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(266, 63)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::Function)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplateTypeParameterReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(268, 58)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplateTypeParameterDeclarationReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(268, 58)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::LocalVariable)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, NonTypeTemplateParameterReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(269, 71)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[3], HasOnlyType(HighlightingType::LocalVariable)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, NonTypeTemplateParameterReferenceReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(269, 71)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::LocalVariable)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplateTemplateParameterReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(270, 89)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplateTemplateContainerParameterReference) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(270, 89)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplateTemplateParameterReferenceVariable) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(270, 89)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[4], HasOnlyType(HighlightingType::LocalVariable)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, ClassFinalVirtualFunctionCallPointer) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(212, 61)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::Function)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, ClassFinalVirtualFunctionCall) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(277, 23)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Function)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, HasFunctionArguments) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(286, 29)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_TRUE(infos[1].hasFunctionArguments()); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, PreprocessorInclusionDirectiveWithAngleBrackets ) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(289, 38)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[3], HasOnlyType(HighlightingType::StringLiteral)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, ArgumentInMacroExpansionIsKeyword) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(302, 36)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::Keyword)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, DISABLED_FirstArgumentInMacroExpansionIsLocalVariable) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(302, 36)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[3], HasOnlyType(HighlightingType::Invalid)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, DISABLED_SecondArgumentInMacroExpansionIsLocalVariable) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(302, 36)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[5], HasOnlyType(HighlightingType::Invalid)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, DISABLED_SecondArgumentInMacroExpansionIsField) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(310, 40)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[5], HasOnlyType(HighlightingType::Invalid)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, DISABLED_EnumerationType) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(316, 30)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[3], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TypeInStaticCast) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(328, 64)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[4], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, StaticCastIsKeyword) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(328, 64)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Keyword)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, StaticCastPunctationIsInvalid) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(328, 64)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::Invalid)); | 
					
						
							|  |  |  |     ASSERT_THAT(infos[3], HasOnlyType(HighlightingType::Invalid)); | 
					
						
							|  |  |  |     ASSERT_THAT(infos[5], HasOnlyType(HighlightingType::Invalid)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TypeInReinterpretCast) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(329, 69)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[4], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, IntegerAliasDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(333, 41)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, IntegerAlias) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(341, 31)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, SecondIntegerAlias) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(342, 43)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, IntegerTypedef) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(343, 35)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, FunctionAlias) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(344, 16)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, FriendTypeDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(350, 28)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::Invalid)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, FriendArgumentTypeDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(351, 65)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[6], HasOnlyType(HighlightingType::Invalid)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, FriendArgumentDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(351, 65)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[8], HasOnlyType(HighlightingType::Invalid)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, FieldInitialization) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(358, 18)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Field)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplateFunctionCall) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(372, 29)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Function)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplatedType) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(377, 21)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplatedTypeDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(384, 49)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, NoOperator) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(389, 24)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::Invalid)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, ScopeOperator) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(400, 33)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[1], HasOnlyType(HighlightingType::Invalid)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplateClassNamespace) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(413, 78)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplateClass) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(413, 78)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplateClassParameter) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(413, 78)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[4], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TemplateClassDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(413, 78)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[6], HasOnlyType(HighlightingType::LocalVariable)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TypeDefDeclaration) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(418, 36)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, TypeDefDeclarationUsage) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(419, 48)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[0], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-11 18:19:12 +02:00
										 |  |  | TEST_F(HighlightingMarks, NonConstReferenceArgument) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(455, 35)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     infos[1]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[2], | 
					
						
							|  |  |  |                 HasTwoTypes(HighlightingType::LocalVariable, HighlightingType::OutputArgument)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, ConstReferenceArgument) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(464, 32)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     infos[1]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[2], | 
					
						
							|  |  |  |                 HasOnlyType(HighlightingType::LocalVariable)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, RValueReferenceArgument) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(473, 52)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     infos[1]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[8], | 
					
						
							|  |  |  |                 HasOnlyType(HighlightingType::LocalVariable)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, NonConstPointerArgument) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(482, 33)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     infos[1]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[2], | 
					
						
							|  |  |  |                 HasTwoTypes(HighlightingType::LocalVariable, HighlightingType::OutputArgument)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, ConstPointerArgument) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(491, 30)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     infos[1]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[2], | 
					
						
							|  |  |  |                 HasOnlyType(HighlightingType::LocalVariable)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, NonConstReferenceArgumentCallInsideCall) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(501, 64)); | 
					
						
							|  |  |  |     infos[1]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     infos[3]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[7], | 
					
						
							|  |  |  |                 HasTwoTypes(HighlightingType::LocalVariable, HighlightingType::OutputArgument)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, OutputArgumentsAreEmptyAfterIteration) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(501, 63)); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-12 11:45:58 +02:00
										 |  |  |     for (const auto &info : infos ) { Q_UNUSED(info) } | 
					
						
							| 
									
										
										
										
											2016-10-11 18:19:12 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_TRUE(infos.currentOutputArgumentRangesAreEmpty()); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, NonConstReferenceArgumentFromFunctionParameter) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(506, 42)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     infos[1]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[2], | 
					
						
							|  |  |  |                 HasTwoTypes(HighlightingType::LocalVariable, HighlightingType::OutputArgument)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, NonConstPointerArgumentAsExpression) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(513, 33)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     infos[1]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[3], | 
					
						
							|  |  |  |                 HasTwoTypes(HighlightingType::LocalVariable, HighlightingType::OutputArgument)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-12 12:21:47 +02:00
										 |  |  | TEST_F(HighlightingMarks, NonConstPointerArgumentAsInstanceWithMember) | 
					
						
							| 
									
										
										
										
											2016-10-11 18:19:12 +02:00
										 |  |  | { | 
					
						
							|  |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(525, 46)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     infos[1]; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-12 12:21:47 +02:00
										 |  |  |     ASSERT_THAT(infos[2], | 
					
						
							|  |  |  |                 HasTwoTypes(HighlightingType::LocalVariable, HighlightingType::OutputArgument)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, NonConstPointerArgumentAsMemberOfInstance) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(525, 46)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     infos[1]; | 
					
						
							|  |  |  |     infos[2]; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-11 18:19:12 +02:00
										 |  |  |     ASSERT_THAT(infos[4], | 
					
						
							|  |  |  |                 HasTwoTypes(HighlightingType::Field, HighlightingType::OutputArgument)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-12 12:16:41 +02:00
										 |  |  | TEST_F(HighlightingMarks, DISABLED_NonConstReferenceArgumentConstructor) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(540, 57)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     infos[2]; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ASSERT_THAT(infos[3], | 
					
						
							|  |  |  |                 HasTwoTypes(HighlightingType::LocalVariable, HighlightingType::OutputArgument)); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | TEST_F(HighlightingMarks, DISABLED_EnumerationTypeDef) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(424, 41)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[3], HasOnlyType(HighlightingType::Type)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // QTCREATORBUG-15473
 | 
					
						
							|  |  |  | TEST_F(HighlightingMarks, DISABLED_ArgumentToUserDefinedIndexOperator) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     const auto infos = translationUnit.highlightingMarksInRange(sourceRange(434, 19)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-03-03 13:02:29 +01:00
										 |  |  |     ASSERT_THAT(infos[2], HasOnlyType(HighlightingType::LocalVariable)); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Data *HighlightingMarks::d; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void HighlightingMarks::SetUpTestCase() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     d = new Data; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | void HighlightingMarks::TearDownTestCase() | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     delete d; | 
					
						
							|  |  |  |     d = nullptr; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ClangBackEnd::SourceRange HighlightingMarks::sourceRange(uint line, uint columnEnd) const | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2016-09-07 14:50:58 +02:00
										 |  |  |     return translationUnit.sourceRange(line, 1, line, columnEnd); | 
					
						
							| 
									
										
										
										
											2016-02-29 13:09:39 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } |