diff options
author | Przemyslaw Gorszkowski <pgorszkowski@gmail.com> | 2013-09-03 22:51:53 +0200 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@digia.com> | 2013-11-22 16:12:53 +0100 |
commit | 4836fa0106e3a2658f4d0018ae51c66a0b1f2b5a (patch) | |
tree | 5d25bfdbab5ecd8a7547aaf875add7009155cd7f /src/plugins/cpptools/cppcompletion_test.cpp | |
parent | 4b4e5f69901f80ace0c0dba683771c2139d5c2b8 (diff) | |
download | qt-creator-4836fa0106e3a2658f4d0018ae51c66a0b1f2b5a.tar.gz |
C++: fix auto completion for member of classes accessed by using
Example:
namespace NS { struct S { int member; void fun(); }; }
using NS::S;
void S::fun()
{
mem// ctrl+space
}
Task-number: QTCREATORBUG-9037
Change-Id: I5a568be1b5c44deb02caa04996167a88a9c5d4d7
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Diffstat (limited to 'src/plugins/cpptools/cppcompletion_test.cpp')
-rw-r--r-- | src/plugins/cpptools/cppcompletion_test.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cppcompletion_test.cpp b/src/plugins/cpptools/cppcompletion_test.cpp index 3eed35b507..d749a7d554 100644 --- a/src/plugins/cpptools/cppcompletion_test.cpp +++ b/src/plugins/cpptools/cppcompletion_test.cpp @@ -2821,3 +2821,46 @@ void CppToolsPlugin::test_completion_signals_hide_QPrivateSignal() QCOMPARE(completions.size(), 1); QVERIFY(completions.contains(QLatin1String("timeout()"))); } + +void CppToolsPlugin::test_completion_member_of_class_accessed_by_using_QTCREATORBUG9037_1() +{ + const QByteArray source = + "namespace NS { struct S { int member; void fun(); }; }\n" + "using NS::S;\n" + "void S::fun()\n" + "{\n" + " @\n" + " // padding so we get the scope right\n" + "}\n" + ; + CompletionTestCase test(source, "mem"); + + QStringList completions = test.getCompletions(); + QCOMPARE(completions.size(), 1); + QVERIFY(completions.contains(QLatin1String("member"))); +} + +void CppToolsPlugin::test_completion_member_of_class_accessed_by_using_QTCREATORBUG9037_2() +{ + const QByteArray source = + "namespace NS \n" + "{\n" + " namespace Internal\n" + " {\n" + " struct S { int member; void fun(); };\n" + " }\n" + " using Internal::S;\n" + "}\n" + "using NS::S;\n" + "void S::fun()\n" + "{\n" + " @\n" + " // padding so we get the scope right\n" + "}\n" + ; + CompletionTestCase test(source, "mem"); + + QStringList completions = test.getCompletions(); + QCOMPARE(completions.size(), 1); + QVERIFY(completions.contains(QLatin1String("member"))); +} |