summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppcompletion_test.cpp
diff options
context:
space:
mode:
authorLeandro Melo <leandro.melo@nokia.com>2012-08-22 14:44:53 +0200
committerLeandro Melo <leandro.melo@nokia.com>2012-08-23 14:36:01 +0200
commit74a458bca09b5bd170b64e04bb68c8d958c61932 (patch)
tree0186c89025ab1ac7d490b794aadf324042286bd5 /src/plugins/cpptools/cppcompletion_test.cpp
parentb53d5628168b69352ee95b08ffa2c3f5693aa626 (diff)
downloadqt-creator-74a458bca09b5bd170b64e04bb68c8d958c61932.tar.gz
C++: Improve completion when forward declarations present
This fixes one of the issues mentioned in the report below. THe other part will come in a separate patch. Task-number: QTCREATORBUG-7730 Change-Id: I9f56a9bcec8a881dab3ab60f40c5b71f296466da Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Diffstat (limited to 'src/plugins/cpptools/cppcompletion_test.cpp')
-rw-r--r--src/plugins/cpptools/cppcompletion_test.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cppcompletion_test.cpp b/src/plugins/cpptools/cppcompletion_test.cpp
index 7d9d9f3417..a6681bb398 100644
--- a/src/plugins/cpptools/cppcompletion_test.cpp
+++ b/src/plugins/cpptools/cppcompletion_test.cpp
@@ -121,6 +121,40 @@ static void setup(TestData *data)
data->doc = data->editor->document();
}
+void CppToolsPlugin::test_completion_forward_declarations_present()
+{
+ TestData data;
+ data.srcText = "\n"
+ "class Foo\n"
+ "{\n"
+ " struct Bar;\n"
+ " int i;\n"
+ "};\n"
+ "\n"
+ "struct Foo::Bar \n"
+ "{\n"
+ " Bar() {}\n"
+ "};\n"
+ "\n"
+ "@\n"
+ "// padding so we get the scope right\n";
+
+ setup(&data);
+
+ Utils::ChangeSet change;
+ change.insert(data.pos, "Foo::Bar::");
+ QTextCursor cursor(data.doc);
+ change.apply(&cursor);
+ data.pos += 10;
+
+ QStringList expected;
+ expected.append("Bar");
+
+ QStringList completions = getCompletions(data);
+
+ QCOMPARE(completions, expected);
+}
+
void CppToolsPlugin::test_completion_basic_1()
{
TestData data;