aboutsummaryrefslogtreecommitdiff
path: root/src/test/util_tests.cpp
diff options
context:
space:
mode:
authorMartin Leitner-Ankerl <martin.ankerl@gmail.com>2022-05-02 21:44:09 +0200
committerMartin Leitner-Ankerl <martin.ankerl@gmail.com>2022-05-04 07:34:47 +0200
commitb7ab9db545492927b774912e53aeb834a590621f (patch)
tree94b912439bd1e205a15e1a39438ee8861e3e057d /src/test/util_tests.cpp
parent12455acca2c3adf5c88ae9c1a02a7c192fe0f53b (diff)
downloadbitcoin-b7ab9db545492927b774912e53aeb834a590621f.tar.xz
Extend Split to work with multiple separators
Diffstat (limited to 'src/test/util_tests.cpp')
-rw-r--r--src/test/util_tests.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/test/util_tests.cpp b/src/test/util_tests.cpp
index b880a7a9fd..890b2f997e 100644
--- a/src/test/util_tests.cpp
+++ b/src/test/util_tests.cpp
@@ -2396,6 +2396,19 @@ BOOST_AUTO_TEST_CASE(test_SplitString)
BOOST_CHECK_EQUAL(result.size(), 1);
BOOST_CHECK_EQUAL(result[0], "AAA");
}
+
+ // multiple split characters
+ {
+ using V = std::vector<std::string>;
+ BOOST_TEST(SplitString("a,b.c:d;e", ",;") == V({"a", "b.c:d", "e"}));
+ BOOST_TEST(SplitString("a,b.c:d;e", ",;:.") == V({"a", "b", "c", "d", "e"}));
+ BOOST_TEST(SplitString("a,b.c:d;e", "") == V({"a,b.c:d;e"}));
+ BOOST_TEST(SplitString("aaa", "bcdefg") == V({"aaa"}));
+ BOOST_TEST(SplitString("x\0a,b"s, "\0"s) == V({"x", "a,b"}));
+ BOOST_TEST(SplitString("x\0a,b"s, '\0') == V({"x", "a,b"}));
+ BOOST_TEST(SplitString("x\0a,b"s, "\0,"s) == V({"x", "a", "b"}));
+ BOOST_TEST(SplitString("abcdefg", "bcd") == V({"a", "", "", "efg"}));
+ }
}
BOOST_AUTO_TEST_CASE(test_LogEscapeMessage)