summaryrefslogtreecommitdiff
path: root/tests/unit
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2015-12-09 14:30:18 +0100
committerNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2015-12-16 15:36:47 +0000
commit4382274ba45e70f1c8dea13788d3d57d89be506b (patch)
tree62e25847bfc575a1f7107d9f5f920fad88388245 /tests/unit
parent18fa35c1529f247eac4caa8434c344d37c3629ce (diff)
downloadqt-creator-4382274ba45e70f1c8dea13788d3d57d89be506b.tar.gz
Clang: Fix emphasizing current parameter in function signature tooltip
...when completing function calls. Task-number: QTCREATORBUG-15108 Change-Id: If55effe117774f3ec5debb03a9c7889981ea27d2 Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/unittest/completionchunkstotextconvertertest.cpp66
1 files changed, 66 insertions, 0 deletions
diff --git a/tests/unit/unittest/completionchunkstotextconvertertest.cpp b/tests/unit/unittest/completionchunkstotextconvertertest.cpp
index b9c1dd9a5a..20008fe847 100644
--- a/tests/unit/unittest/completionchunkstotextconvertertest.cpp
+++ b/tests/unit/unittest/completionchunkstotextconvertertest.cpp
@@ -119,6 +119,72 @@ TEST_F(CompletionChunksToTextConverter, ConvertFunctionWithParameters)
ASSERT_THAT(converter.text(), QStringLiteral("int Function(char x)"));
}
+TEST_F(CompletionChunksToTextConverter, ConvertToFunctionSignatureWithOneArgument)
+{
+ CodeCompletionChunks completionChunks({integerResultType,
+ functionName,
+ leftParen,
+ functionArgumentX,
+ rightParen});
+
+ using ClangCodeModel::Internal::CompletionChunksToTextConverter;
+
+ ASSERT_THAT(converter.convertToFunctionSignature(completionChunks),
+ QStringLiteral("int Function(char x)"));
+}
+
+TEST_F(CompletionChunksToTextConverter, ConvertToFunctionSignatureWithOneParameterThatIsActive)
+{
+ CodeCompletionChunks completionChunks({integerResultType,
+ functionName,
+ leftParen,
+ functionArgumentX,
+ rightParen});
+
+ ASSERT_THAT(converter.convertToFunctionSignature(completionChunks, 1),
+ QStringLiteral("int Function(<b>char x</b>)"));
+}
+
+TEST_F(CompletionChunksToTextConverter, ConvertToFunctionSignatureWithOneParameterAndInInvalidActiveParameter)
+{
+ CodeCompletionChunks completionChunks({integerResultType,
+ functionName,
+ leftParen,
+ functionArgumentX,
+ rightParen});
+
+ ASSERT_THAT(converter.convertToFunctionSignature(completionChunks, -1),
+ QStringLiteral("int Function(char x)"));
+}
+
+TEST_F(CompletionChunksToTextConverter, ConvertToFunctionSignatureWithTwoParametersWhereOneIsActive)
+{
+ CodeCompletionChunks completionChunks({integerResultType,
+ functionName,
+ leftParen,
+ functionArgumentX,
+ comma,
+ functionArgumentY,
+ rightParen});
+
+ ASSERT_THAT(converter.convertToFunctionSignature(completionChunks, 2),
+ QStringLiteral("int Function(char x, <b>int y</b>)"));
+}
+
+TEST_F(CompletionChunksToTextConverter, ConvertToFunctionSignatureWithTwoParametersWhereOneIsOptionalAndActive)
+{
+ CodeCompletionChunks completionChunks({integerResultType,
+ functionName,
+ leftParen,
+ functionArgumentX,
+ optionalComma,
+ optionalFunctionArgumentY,
+ rightParen});
+
+ ASSERT_THAT(converter.convertToFunctionSignature(completionChunks, 2),
+ QStringLiteral("int Function(char x<i>, <b>int y</b></i>)"));
+}
+
TEST_F(CompletionChunksToTextConverter, ConvertFunctionWithOptionalParameter)
{
CodeCompletionChunks completionChunks({integerResultType,