feat(string): add SStrTokenize

This commit is contained in:
fallenoak 2020-11-21 20:44:37 -06:00
parent a56c0c6fe0
commit d9e7f05c15
No known key found for this signature in database
GPG key ID: 7628F8E61AEA070D
3 changed files with 120 additions and 0 deletions

View file

@ -244,6 +244,37 @@ TEST_CASE("SStrStr", "[string]") {
}
}
TEST_CASE("SStrTokenize", "[string]") {
SECTION("finds all tokens in comma-delimited string") {
auto string = "foo,bar,baz";
char buffer[100] = { 0 };
const char* tokens[] = { "foo", "bar", "baz" };
for (auto& token : tokens) {
SStrTokenize(&string, buffer, 1000, " ,", nullptr);
REQUIRE(!SStrCmp(buffer, token, STORM_MAX_STR));
}
}
SECTION("finds all tokens in comma-and-whitespace-delimited string") {
auto string = "foo , bar , baz";
char buffer[100] = { 0 };
const char* tokens[] = { "foo", "bar", "baz" };
for (auto& token : tokens) {
SStrTokenize(&string, buffer, 1000, " ,", nullptr);
REQUIRE(!SStrCmp(buffer, token, STORM_MAX_STR));
}
}
SECTION("finds no tokens empty string") {
auto string = "";
char buffer[100] = { 0 };
SStrTokenize(&string, buffer, 1000, " ,", nullptr);
REQUIRE(!SStrCmp(buffer, "", STORM_MAX_STR));
}
}
TEST_CASE("SStrToFloat", "[string]") {
SECTION("converts empty string to float") {
auto string = "";