mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-05 02:33:07 +02:00
Merge bitcoin/bitcoin#25057: refactor: replace remaining boost::split with SplitString
f849e63badfuzz: SplitString with multiple separators (Martin Leitner-Ankerl)d1a9850102http: replace boost::split with SplitString (Martin Leitner-Ankerl)0d7efcdf75core_read: Replace boost::split with SplitString (Martin Leitner-Ankerl)b7ab9db545Extend Split to work with multiple separators (Martin Leitner-Ankerl) Pull request description: As a followup of #22953, this removes the remaining occurrences of `boost::split` and replaces them with our own `SplitString`. To be able to do so, this extends the function `spanparsing::Split` to work with multiple separators. Finally this removes 3 more files from `lint-includes.py`. ACKs for top commit: theStack: Code-review ACKf849e63badTree-SHA512: f37d4dbe11cab2046e646045b0f018a75f978d521443a2c5001512737a1370e22b09247d5db0e5c9e4153229a4e2d66731903c1bba3713711c4cae8cedcc775d
This commit is contained in:
@@ -224,7 +224,12 @@ FUZZ_TARGET(string)
|
||||
int64_t amount_out;
|
||||
(void)ParseFixedPoint(random_string_1, fuzzed_data_provider.ConsumeIntegralInRange<int>(0, 1024), &amount_out);
|
||||
}
|
||||
(void)SplitString(random_string_1, fuzzed_data_provider.ConsumeIntegral<char>());
|
||||
{
|
||||
const auto single_split{SplitString(random_string_1, fuzzed_data_provider.ConsumeIntegral<char>())};
|
||||
assert(single_split.size() >= 1);
|
||||
const auto any_split{SplitString(random_string_1, random_string_2)};
|
||||
assert(any_split.size() >= 1);
|
||||
}
|
||||
{
|
||||
(void)Untranslated(random_string_1);
|
||||
const bilingual_str bs1{random_string_1, random_string_2};
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user