feat(string): add copy helper method for RCString source

This commit is contained in:
Tristan 'Natrist' Cormier 2023-03-10 15:37:06 -05:00 committed by GitHub
parent 467c0366e1
commit 54dc7e849f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 0 deletions

View file

@ -15,6 +15,10 @@ void RCString::Copy(const char* source) {
} }
} }
void RCString::Copy(const RCString& source) {
this->Copy(source.GetString());
}
void RCString::Get(char* buf, size_t bufSize) const { void RCString::Get(char* buf, size_t bufSize) const {
const char* str = this->GetString(); const char* str = this->GetString();

View file

@ -12,6 +12,7 @@ class RCString : public TRefCnt {
// Member functions // Member functions
RCString(); RCString();
void Copy(const char* source); void Copy(const char* source);
void Copy(const RCString& source);
void Get(char* buf, size_t bufSize) const; void Get(char* buf, size_t bufSize) const;
const char* GetString() const; const char* GetString() const;
}; };

View file

@ -9,6 +9,14 @@ TEST_CASE("RCString::Copy", "[string]") {
rcStr.Copy(str); rcStr.Copy(str);
REQUIRE(!SStrCmp(str, rcStr.GetString(), STORM_MAX_STR)); REQUIRE(!SStrCmp(str, rcStr.GetString(), STORM_MAX_STR));
} }
SECTION("copies source RCString") {
RCString rcStr1;
rcStr1.Copy("foo");
RCString rcStr2;
rcStr2.Copy(rcStr1);
REQUIRE(!SStrCmp(rcStr1.GetString(), rcStr2.GetString(), STORM_MAX_STR));
}
} }
TEST_CASE("RCString::GetString", "[string]") { TEST_CASE("RCString::GetString", "[string]") {