From 8d283ffd1695b9d3accaaa58d40db82ac04fdf16 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Tue, 30 Jul 2013 11:56:50 +0200 Subject: CppTools: Hide "QPrivateSignal" on signal completion (Qt5) See also http://woboq.com/blog/how-qt-signals-slots-work-part2-qt5.html Task-number: QTCREATORBUG-8540 Change-Id: Iccad837d7a0da982e7d7a1eda95ff1828cf1dce6 Reviewed-by: Friedemann Kleint Reviewed-by: Fawzi Mohamed Reviewed-by: Christian Kandeler --- src/plugins/cpptools/cppcompletion_test.cpp | 33 +++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'src/plugins/cpptools/cppcompletion_test.cpp') diff --git a/src/plugins/cpptools/cppcompletion_test.cpp b/src/plugins/cpptools/cppcompletion_test.cpp index 369f520cd2..017559bdca 100644 --- a/src/plugins/cpptools/cppcompletion_test.cpp +++ b/src/plugins/cpptools/cppcompletion_test.cpp @@ -2463,3 +2463,36 @@ void CppToolsPlugin::test_completion_recursive_using_typedef_declarations() QCOMPARE(completions.size(), 0); } + +void CppToolsPlugin::test_completion_signals_hide_QPrivateSignal() +{ + const QByteArray source = + "#define SIGNAL(a) #a\n" + "#define SLOT(a) #a\n" + "#define signals public\n" + "#define Q_OBJECT struct QPrivateSignal {};\n" + "\n" + "class QObject\n" + "{\n" + "public:\n" + " void connect(QObject *, char *, QObject *, char *);\n" + "};\n" + "\n" + "class Timer : public QObject\n" + "{\n" + " Q_OBJECT\n" + "signals:\n" + " void timeout(QPrivateSignal);\n" + "};\n" + "\n" + "void client()\n" + "{\n" + " Timer *timer = new Timer;\n" + " connect(timer, SIGNAL(@\n" + "}\n"; + CompletionTestCase test(source); + + const QStringList completions = test.getCompletions(); + QCOMPARE(completions.size(), 1); + QVERIFY(completions.contains(QLatin1String("timeout()"))); +} -- cgit v1.2.1