feat(string): add SStrUpper

This commit is contained in:
fallenoak 2021-02-13 18:51:47 -06:00
parent b4485a3498
commit 0d00bd3ae4
No known key found for this signature in database
GPG key ID: 7628F8E61AEA070D
3 changed files with 33 additions and 0 deletions

View file

@ -629,3 +629,10 @@ int32_t SStrToInt(const char* string) {
return result;
}
void SStrUpper(char* string) {
while (*string) {
*string = static_cast<char>(toupper(*string));
string++;
}
}

View file

@ -37,4 +37,6 @@ float SStrToFloat(const char* string);
int32_t SStrToInt(const char* string);
void SStrUpper(char* string);
#endif

View file

@ -398,3 +398,27 @@ TEST_CASE("SStrToInt", "[string]") {
REQUIRE(result == 123);
}
}
TEST_CASE("SStrUpper", "[string]") {
SECTION("rewrites lowercase string to uppercase correctly") {
auto lower = "foobar";
auto upper = static_cast<char*>(SMemAlloc(SStrLen(lower) + 1, __FILE__, __LINE__, 0x0));
SStrCopy(upper, lower, STORM_MAX_STR);
SStrUpper(upper);
auto compare = SStrCmp(upper, "FOOBAR", SStrLen(upper));
SMemFree(upper);
REQUIRE(!compare);
}
SECTION("rewrites uppercase string to uppercase correctly") {
auto upper1 = "FOOBAR";
auto upper2 = static_cast<char*>(SMemAlloc(SStrLen(upper1) + 1, __FILE__, __LINE__, 0x0));
SStrCopy(upper2, upper1, STORM_MAX_STR);
SStrUpper(upper2);
auto compare = SStrCmp(upper2, "FOOBAR", SStrLen(upper2));
SMemFree(upper2);
REQUIRE(!compare);
}
}