CppEditor: Fix "insert definition" for templates with value parameters

Fixes: QTCREATORBUG-26113
Change-Id: I2d2a1c1bdcffd67072bbda99dabbbfbfafe115c5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Christian Kandeler
2021-08-16 17:52:02 +02:00
parent 837a707ec7
commit d7717f1eca
5 changed files with 36 additions and 3 deletions

View File

@@ -4605,6 +4605,27 @@ void CppEditorPlugin::test_quickfix_InsertDefFromDecl_templateClass()
QuickFixOperationTest(singleDocument(original, expected), &factory);
}
void CppEditorPlugin::test_quickfix_InsertDefFromDecl_templateClassWithValueParam()
{
QList<QuickFixTestDocument::Ptr> testDocuments;
QByteArray original =
"template<typename T, int size> struct MyArray {};\n"
"MyArray<int, 1> @foo();";
QByteArray expected = original;
testDocuments << QuickFixTestDocument::create("file.h", original, expected);
original = "#include \"file.h\"\n";
expected =
"#include \"file.h\"\n\n"
"MyArray<int, 1> foo()\n"
"{\n\n"
"}\n";
testDocuments << QuickFixTestDocument::create("file.cpp", original, expected);
InsertDefFromDecl factory;
QuickFixOperationTest(testDocuments, &factory);
}
void CppEditorPlugin::test_quickfix_InsertDefFromDecl_templateFunction()
{
QByteArray original =