diff options
author | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-02-07 13:59:06 +0100 |
---|---|---|
committer | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-02-21 06:55:39 +0000 |
commit | 8ffae6a08c84a9d8754063c7698ab7e125d9c291 (patch) | |
tree | 8884a1d37f705a696bea2c2dfe13f55209ca384b /tests/unit | |
parent | e10b220189a302c89ee14f47290224f2fe528e66 (diff) |
Clang: Add cursor range to extra token information
Change-Id: Id410c94c79d61b8f4d5b53f937827356272b9f65
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Diffstat (limited to 'tests/unit')
-rw-r--r-- | tests/unit/unittest/clangcodemodelserver-test.cpp | 12 | ||||
-rw-r--r-- | tests/unit/unittest/tokenprocessor-test.cpp | 20 |
2 files changed, 21 insertions, 11 deletions
diff --git a/tests/unit/unittest/clangcodemodelserver-test.cpp b/tests/unit/unittest/clangcodemodelserver-test.cpp index 3bf0157708..b91a41a09f 100644 --- a/tests/unit/unittest/clangcodemodelserver-test.cpp +++ b/tests/unit/unittest/clangcodemodelserver-test.cpp @@ -672,20 +672,10 @@ void ClangCodeModelServer::expectDocumentAnnotationsChangedForFileBWithSpecificH types.mixinHighlightingTypes.push_back(ClangBackEnd::HighlightingType::Declaration); types.mixinHighlightingTypes.push_back(ClangBackEnd::HighlightingType::FunctionDefinition); const TokenInfoContainer tokenInfo(1, 6, 8, types); - const TokenInfoContainer fullTokenInfo(1, 6, 8, types, - ClangBackEnd::ExtraInfo {Utf8String("function", 8), - Utf8String("(int)", 5), - Utf8String("void", 4), - Utf8String(), - AccessSpecifier::Invalid, - StorageClass::None, - true, false, true, true, - false, false}); - EXPECT_CALL(mockClangCodeModelClient, documentAnnotationsChanged( Property(&DocumentAnnotationsChangedMessage::tokenInfos, - Contains(AnyOf(tokenInfo, fullTokenInfo))))); + Contains(tokenInfo)))); } void ClangCodeModelServer::updateUnsavedContent(const Utf8String &filePath, diff --git a/tests/unit/unittest/tokenprocessor-test.cpp b/tests/unit/unittest/tokenprocessor-test.cpp index 13c07a21f5..b35fc12078 100644 --- a/tests/unit/unittest/tokenprocessor-test.cpp +++ b/tests/unit/unittest/tokenprocessor-test.cpp @@ -1216,35 +1216,45 @@ TEST_F(TokenProcessor, UsingTemplateFunction) TEST_F(TokenProcessor, HeaderNameIsInclusion) { const auto infos = translationUnit.fullTokenInfosInRange(sourceRange(239, 31)); + ClangBackEnd::TokenInfoContainer container(infos[2]); + ASSERT_THAT(container.extraInfo().includeDirectivePath, true); } TEST_F(TokenProcessor, HeaderNameIsInclusionWithAngleBrackets) { const auto infos = translationUnit.fullTokenInfosInRange(sourceRange(289, 31)); + ClangBackEnd::TokenInfoContainer container(infos[2]); + ASSERT_THAT(container.extraInfo().includeDirectivePath, true); } TEST_F(TokenProcessor, NotInclusion) { const auto infos = translationUnit.fullTokenInfosInRange(sourceRange(241, 13)); + ClangBackEnd::TokenInfoContainer container(infos[1]); + ASSERT_THAT(container.extraInfo().includeDirectivePath, false); } TEST_F(TokenProcessor, MacroIsIdentifier) { const auto infos = translationUnit.fullTokenInfosInRange(sourceRange(232, 30)); + ClangBackEnd::TokenInfoContainer container(infos[2]); + ASSERT_THAT(container.extraInfo().identifier, true); } TEST_F(TokenProcessor, DefineIsNotIdentifier) { const auto infos = translationUnit.fullTokenInfosInRange(sourceRange(232, 30)); + ClangBackEnd::TokenInfoContainer container(infos[1]); + ASSERT_THAT(container.extraInfo().includeDirectivePath, false); } @@ -1304,6 +1314,16 @@ TEST_F(TokenProcessor, QtPropertyType) ASSERT_THAT(infos[3], HasOnlyType(HighlightingType::Type)); } +TEST_F(TokenProcessor, CursorRange) +{ + const auto infos = translationUnit.fullTokenInfosInRange(sourceRange(592, 15)); + const auto expectedRange = translationUnit.sourceRange(592, 1, 592, 87); + + ClangBackEnd::TokenInfoContainer container(infos[1]); + + ASSERT_THAT(container.extraInfo().cursorRange, expectedRange); +} + Data *TokenProcessor::d; void TokenProcessor::SetUpTestCase() |