summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppcompletion_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/cppcompletion_test.cpp')
-rw-r--r--src/plugins/cpptools/cppcompletion_test.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cppcompletion_test.cpp b/src/plugins/cpptools/cppcompletion_test.cpp
index 679e141b75..0f12e36b07 100644
--- a/src/plugins/cpptools/cppcompletion_test.cpp
+++ b/src/plugins/cpptools/cppcompletion_test.cpp
@@ -2328,6 +2328,34 @@ void CppToolsPlugin::test_completion_data()
<< QLatin1String("foo")
<< QLatin1String("Foo"));
+ QTest::newRow("resolving_template_argument1") << _(
+ "template <typename T>\n"
+ "struct Base { T t; };\n"
+ "struct Foo { int foo; };\n"
+ "void fun() {\n"
+ " typedef Foo TypedefedFoo;\n"
+ " Base<TypedefedFoo> baseFoo;\n"
+ " @\n"
+ "}\n"
+ ) << _("baseFoo.t.") << (QStringList()
+ << QLatin1String("foo")
+ << QLatin1String("Foo"));
+
+ QTest::newRow("resolving_template_argument2") << _(
+ "namespace NS {\n"
+ "template <typename T>\n"
+ "struct Base { T t; };\n"
+ "}\n"
+ "struct Foo { int foo; };\n"
+ "void fun() {\n"
+ " typedef Foo TypedefedFoo;\n"
+ " NS::Base<TypedefedFoo> baseFoo;\n"
+ " @\n"
+ "}\n"
+ ) << _("baseFoo.t.") << (QStringList()
+ << QLatin1String("foo")
+ << QLatin1String("Foo"));
+
// this is not a valid code(is not compile) but it caused a crash
QTest::newRow("template_specialization_and_initialization_with_pointer2") << _(
"template <typename T1, typename T2 = int>\n"