Commit 799bd460 authored by Tobias Hunger's avatar Tobias Hunger Committed by Nikolai Kosjar
Browse files

Snippet: Fix snippets with : in them



* Fix the parser
* Add a unit test for this

Change-Id: I202f845e12c9b6203444f3bb12d7a9229c8a2887
Reviewed-by: default avatarNikolai Kosjar <nikolai.kosjar@digia.com>
parent e829b973
......@@ -225,8 +225,7 @@ Snippet::ParsedSnippet Snippet::parse(const QString &snippet)
break;
}
if (current == QLatin1Char(':')) {
if (start >= 0) {
if (current == QLatin1Char(':') && start >= 0) {
if (mangler != 0) {
success = false;
break;
......@@ -241,7 +240,6 @@ Snippet::ParsedSnippet Snippet::parse(const QString &snippet)
success = false;
break;
}
}
++i;
continue;
}
......@@ -338,6 +336,22 @@ void Internal::TextEditorPlugin::testSnippetParsing_data()
<< QString::fromLatin1("$test:X$") << QString::fromLatin1("$test:X$") << false
<< (QList<int>()) << (QList<int>())
<< (QList<Core::Id>());
QTest::newRow("multiline with :")
<< QString::fromLatin1("class $name$\n"
"{\n"
"public:\n"
" $name$() {}\n"
"};")
<< QString::fromLatin1("class name\n"
"{\n"
"public:\n"
" name() {}\n"
"};")
<< true
<< (QList<int>() << 6 << 25)
<< (QList<int>() << 4 << 4)
<< (QList<Core::Id>() << NOMANGLER_ID << NOMANGLER_ID);
}
void Internal::TextEditorPlugin::testSnippetParsing()
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment