summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/common/Utils.cpp15
-rw-r--r--src/core/common/Utils.hpp1
-rw-r--r--test/core/common/UtilsTest.cpp2
3 files changed, 14 insertions, 4 deletions
diff --git a/src/core/common/Utils.cpp b/src/core/common/Utils.cpp
index 219b437..a87ff6d 100644
--- a/src/core/common/Utils.cpp
+++ b/src/core/common/Utils.cpp
@@ -124,7 +124,8 @@ bool Utils::isUserDefinedToken(const std::string &token)
// Make sure the token meets is neither empty, nor starts or ends with an
// alphanumeric character
const size_t len = token.size();
- if (len == 0 || isAlphanumeric(token[0]) || isAlphanumeric(token[len - 1])) {
+ if (len == 0 || isAlphanumeric(token[0]) ||
+ isAlphanumeric(token[len - 1])) {
return false;
}
@@ -134,13 +135,19 @@ bool Utils::isUserDefinedToken(const std::string &token)
return false;
}
+ // Make sure the token does not contain any whitespaces.
+ for (char c : token) {
+ if (isWhitespace(c)) {
+ return false;
+ }
+ }
+
// Make sure the token contains other characters but { and }
- for (char c: token) {
+ for (char c : token) {
if (c != '{' && c != '}') {
return true;
}
}
return false;
}
-}
-
+} \ No newline at end of file
diff --git a/src/core/common/Utils.hpp b/src/core/common/Utils.hpp
index 25a4de5..d9e26da 100644
--- a/src/core/common/Utils.hpp
+++ b/src/core/common/Utils.hpp
@@ -117,6 +117,7 @@ public:
* <li>'%', '%{', '}%'</li>
* </ul>
* </li>
+ * <li>The token does not contain any whitespaces.</li>
* </ul>
*/
static bool isUserDefinedToken(const std::string &token);
diff --git a/test/core/common/UtilsTest.cpp b/test/core/common/UtilsTest.cpp
index 54890ee..2aaa430 100644
--- a/test/core/common/UtilsTest.cpp
+++ b/test/core/common/UtilsTest.cpp
@@ -148,6 +148,7 @@ TEST(Utils, isUserDefinedToken)
EXPECT_TRUE(Utils::isUserDefinedToken("`"));
EXPECT_TRUE(Utils::isUserDefinedToken("<"));
EXPECT_TRUE(Utils::isUserDefinedToken(">"));
+ EXPECT_TRUE(Utils::isUserDefinedToken("<+>"));
EXPECT_FALSE(Utils::isUserDefinedToken("a:"));
EXPECT_FALSE(Utils::isUserDefinedToken("a:a"));
EXPECT_FALSE(Utils::isUserDefinedToken(":a"));
@@ -158,6 +159,7 @@ TEST(Utils, isUserDefinedToken)
EXPECT_FALSE(Utils::isUserDefinedToken("<\\"));
EXPECT_FALSE(Utils::isUserDefinedToken("\\>"));
EXPECT_FALSE(Utils::isUserDefinedToken("{!"));
+ EXPECT_FALSE(Utils::isUserDefinedToken("< + >"));
}
}