diff --git a/src/plugins/cppeditor/cppeditorplugin.h b/src/plugins/cppeditor/cppeditorplugin.h index 35c7fca23ec..ea2d138d108 100644 --- a/src/plugins/cppeditor/cppeditorplugin.h +++ b/src/plugins/cppeditor/cppeditorplugin.h @@ -167,6 +167,7 @@ private slots: void test_quickfix_MoveFuncDefOutside_respectWsInOperatorNames1(); void test_quickfix_MoveFuncDefOutside_respectWsInOperatorNames2(); void test_quickfix_MoveFuncDefOutside_macroUses(); + void test_quickfix_MoveFuncDefOutside_template(); void test_quickfix_MoveAllFuncDefOutside_MemberFuncToCpp(); void test_quickfix_MoveAllFuncDefOutside_MemberFuncOutside(); diff --git a/src/plugins/cppeditor/cppquickfix_test.cpp b/src/plugins/cppeditor/cppquickfix_test.cpp index 742106252a5..02b70565f10 100644 --- a/src/plugins/cppeditor/cppquickfix_test.cpp +++ b/src/plugins/cppeditor/cppquickfix_test.cpp @@ -4018,6 +4018,23 @@ void CppEditorPlugin::test_quickfix_MoveFuncDefOutside_macroUses() ProjectPartHeaderPaths(), 0, "QTCREATORBUG-12314"); } +void CppEditorPlugin::test_quickfix_MoveFuncDefOutside_template() +{ + QByteArray original = + "template\n" + "class Foo { void fu@nc() {} };\n"; + QByteArray expected = + "template\n" + "class Foo { void fu@nc(); };\n" + "\n" + "template\n" + "void Foo::func() {}\n"; + ; + + MoveFuncDefOutside factory; + QuickFixOperationTest(singleDocument(original, expected), &factory, {}, 0, "QTCREATORBUG-16649"); +} + /// Check: revert test_quickfix_MoveFuncDefOutside_MemberFuncToCpp() void CppEditorPlugin::test_quickfix_MoveFuncDefToDecl_MemberFunc() {