From 5fb26abb17da1ccb1db7c4719b38a2a19ab1d5af Mon Sep 17 00:00:00 2001 From: Sepalani Date: Tue, 6 Jun 2017 05:50:45 +0100 Subject: [PATCH] StringUtil: Add StringPopBackIf UnitTests --- Source/UnitTests/Common/StringUtilTest.cpp | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/Source/UnitTests/Common/StringUtilTest.cpp b/Source/UnitTests/Common/StringUtilTest.cpp index 36e1ba9812..39a0d44944 100644 --- a/Source/UnitTests/Common/StringUtilTest.cpp +++ b/Source/UnitTests/Common/StringUtilTest.cpp @@ -41,6 +41,40 @@ TEST(StringUtil, StringEndsWith) EXPECT_TRUE(StringEndsWith("", "")); } +TEST(StringUtil, StringPopBackIf) +{ + std::string abc = "abc"; + std::string empty = ""; + + StringPopBackIf(&abc, 'a'); + StringPopBackIf(&empty, 'a'); + EXPECT_STREQ("abc", abc.c_str()); + EXPECT_STRNE(empty.c_str(), abc.c_str()); + + StringPopBackIf(&abc, 'c'); + StringPopBackIf(&empty, 'c'); + EXPECT_STRNE("abc", abc.c_str()); + EXPECT_STREQ("ab", abc.c_str()); + EXPECT_STRNE(empty.c_str(), abc.c_str()); + + StringPopBackIf(&abc, 'b'); + StringPopBackIf(&empty, 'b'); + EXPECT_STRNE("ab", abc.c_str()); + EXPECT_STREQ("a", abc.c_str()); + EXPECT_STRNE(empty.c_str(), abc.c_str()); + + StringPopBackIf(&abc, 'a'); + StringPopBackIf(&empty, 'a'); + EXPECT_STRNE("a", abc.c_str()); + EXPECT_STREQ("", abc.c_str()); + EXPECT_STREQ(empty.c_str(), abc.c_str()); + + StringPopBackIf(&abc, 'a'); + StringPopBackIf(&empty, 'a'); + EXPECT_STREQ("", abc.c_str()); + EXPECT_STREQ(empty.c_str(), abc.c_str()); +} + TEST(StringUtil, UTF8ToSHIFTJIS) { const std::string kirby_unicode =