diff options
author | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2014-09-12 19:14:54 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@digia.com> | 2014-09-15 17:13:57 +0200 |
commit | 62da66a0aa4a680e3e7c1eb050c1a951c7f13369 (patch) | |
tree | 94b0a09f5a8e579faf3d4c204df91dd368b2429d /tests | |
parent | 1b11f9b3c0affaf447b901e2c3c7c6fce46a4341 (diff) | |
download | qt-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.cpp | 22 |
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++) |