diff options
author | Eike Ziller <eike.ziller@theqtcompany.com> | 2015-05-07 14:42:46 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@theqtcompany.com> | 2015-05-07 14:42:46 +0200 |
commit | 4058ff6fe96e1a2e049700dfc7a5e7a120f29068 (patch) | |
tree | 7106e67beabbf4309b9616475f70b73192d4a867 /src/plugins/cpptools/cppcompletion_test.cpp | |
parent | fa704e0b8430da14ba86015e143a094286835934 (diff) | |
parent | 13a947d119c4722461759f1aeb6b61e93e9be210 (diff) | |
download | qt-creator-4058ff6fe96e1a2e049700dfc7a5e7a120f29068.tar.gz |
Merge remote-tracking branch 'origin/3.4'
Conflicts:
src/libs/extensionsystem/pluginview.cpp
Change-Id: I410156c1003d5dc81e915110c6d432bcd71da010
Diffstat (limited to 'src/plugins/cpptools/cppcompletion_test.cpp')
-rw-r--r-- | src/plugins/cpptools/cppcompletion_test.cpp | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/src/plugins/cpptools/cppcompletion_test.cpp b/src/plugins/cpptools/cppcompletion_test.cpp index 8bbcd458b3..5e9d09a384 100644 --- a/src/plugins/cpptools/cppcompletion_test.cpp +++ b/src/plugins/cpptools/cppcompletion_test.cpp @@ -168,6 +168,8 @@ bool isProbablyGlobalCompletion(const QStringList &list) + (T_FIRST_OBJC_AT_KEYWORD - T_FIRST_KEYWORD); return list.size() >= numberOfPrimitivesAndBasicKeywords + && list.contains(QLatin1String("override")) + && list.contains(QLatin1String("final")) && list.contains(QLatin1String("if")) && list.contains(QLatin1String("bool")); } @@ -340,25 +342,48 @@ void CppToolsPlugin::test_global_completion_data() { QTest::addColumn<QByteArray>("code"); QTest::addColumn<QByteArray>("prefix"); + QTest::addColumn<QStringList>("requiredCompletionItems"); // Check that special completion after '&' for Qt5 signal/slots does not // interfere global completion after '&' QTest::newRow("global completion after & in return expression") << _("void f() { foo(myObject, @); }\n") - << _("&"); + << _("&") + << QStringList(); QTest::newRow("global completion after & in function argument") << _("int f() { return @; }\n") - << _("&"); + << _("&") + << QStringList(); + + // Check global completion after one line comments + const QByteArray codeTemplate = "int myGlobal;\n" + "<REPLACEMENT>\n" + "@\n"; + const QStringList replacements = QStringList() + << QLatin1String("// text") + << QLatin1String("// text.") + << QLatin1String("/// text") + << QLatin1String("/// text.") + ; + foreach (const QString &replacement, replacements) { + QByteArray code = codeTemplate; + code.replace("<REPLACEMENT>", replacement.toUtf8()); + const QByteArray tag = _("completion after comment: ") + replacement.toUtf8(); + QTest::newRow(tag) << code << QByteArray() << QStringList(QLatin1String("myGlobal")); + } } void CppToolsPlugin::test_global_completion() { QFETCH(QByteArray, code); QFETCH(QByteArray, prefix); + QFETCH(QStringList, requiredCompletionItems); CompletionTestCase test(code, prefix); QVERIFY(test.succeededSoFar()); - QVERIFY(isProbablyGlobalCompletion(test.getCompletions())); + const QStringList completions = test.getCompletions(); + QVERIFY(isProbablyGlobalCompletion(completions)); + QVERIFY(completions.toSet().contains(requiredCompletionItems.toSet())); } static void enumTestCase(const QByteArray &tag, const QByteArray &source, |