summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>2014-09-12 19:14:54 +0200
committerTobias Hunger <tobias.hunger@digia.com>2014-09-15 17:13:57 +0200
commit62da66a0aa4a680e3e7c1eb050c1a951c7f13369 (patch)
tree94b0a09f5a8e579faf3d4c204df91dd368b2429d /tests
parent1b11f9b3c0affaf447b901e2c3c7c6fce46a4341 (diff)
downloadqt-creator-62da66a0aa4a680e3e7c1eb050c1a951c7f13369.tar.gz
AbstractMacroExpander: expand macros recursively
Started-by: Tobias Hunger <tobias.hunger@digia.com> Change-Id: Id2e88efbb475221cd7c0347f7d5e7009e4372eec Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/utils_stringutils/tst_stringutils.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/tests/auto/utils_stringutils/tst_stringutils.cpp b/tests/auto/utils_stringutils/tst_stringutils.cpp
index 289432cd28..ef69990737 100644
--- a/tests/auto/utils_stringutils/tst_stringutils.cpp
+++ b/tests/auto/utils_stringutils/tst_stringutils.cpp
@@ -38,12 +38,20 @@ class TestMacroExpander : public Utils::AbstractMacroExpander
public:
virtual bool resolveMacro(const QString &name, QString *ret)
{
+ if (name == QLatin1String("foo")) {
+ *ret = QLatin1String("a");
+ return true;
+ }
if (name == QLatin1String("a")) {
*ret = QLatin1String("hi");
return true;
}
- if (name == QLatin1String("foo")) {
- *ret = QLatin1String("a");
+ if (name == QLatin1String("hi")) {
+ *ret = QLatin1String("ho");
+ return true;
+ }
+ if (name == QLatin1String("hihi")) {
+ *ret = QLatin1String("bar");
return true;
}
return false;
@@ -116,7 +124,15 @@ void tst_StringUtils::testMacroExpander_data()
{ "%{a}text%{a}", "hitexthi" },
{ "%{foo}%{a}text%{a}", "ahitexthi" },
{ "%{}{a}", "%{a}" },
- { "%{abc", "%{abc" }
+ { "%{}", "%" },
+ { "test%{}", "test%" },
+ { "%{}test", "%test" },
+ { "%{abc", "%{abc" },
+ { "%{%{a}", "%{hi" },
+ { "%{%{a}}", "ho" },
+ { "%{%{a}}}post", "ho}post" },
+ { "%{hi%{a}}", "bar" },
+ { "%{hi%{%{foo}}}", "bar" },
};
for (unsigned i = 0; i < sizeof(vals)/sizeof(vals[0]); i++)