Cycles: Don't leave multiple spaces in the device name

This commit is contained in:
Sergey Sharybin 2017-06-08 12:15:24 +02:00
parent 45d3e22204
commit 6a546fc73e
2 changed files with 43 additions and 0 deletions

View File

@ -245,4 +245,41 @@ TEST(util_string_remove_trademark, both)
EXPECT_EQ(str, "foo bar zzz");
}
TEST(util_string_remove_trademark, both_space)
{
string str = string_remove_trademark("foo bar(TM) (R) zzz");
EXPECT_EQ(str, "foo bar zzz");
}
TEST(util_string_remove_trademark, both_space_around)
{
string str = string_remove_trademark("foo bar (TM) (R) zzz");
EXPECT_EQ(str, "foo bar zzz");
}
TEST(util_string_remove_trademark, trademark_space_suffix)
{
string str = string_remove_trademark("foo bar (TM)");
EXPECT_EQ(str, "foo bar");
}
TEST(util_string_remove_trademark, trademark_space_middle)
{
string str = string_remove_trademark("foo bar (TM) baz");
EXPECT_EQ(str, "foo bar baz");
}
TEST(util_string_remove_trademark, r_space_suffix)
{
string str = string_remove_trademark("foo bar (R)");
EXPECT_EQ(str, "foo bar");
}
TEST(util_string_remove_trademark, r_space_middle)
{
string str = string_remove_trademark("foo bar (R) baz");
EXPECT_EQ(str, "foo bar baz");
}
CCL_NAMESPACE_END

View File

@ -148,6 +148,12 @@ void string_replace(string& haystack, const string& needle, const string& other)
string string_remove_trademark(const string &s)
{
string result = s;
/* Special case, so we don;t leave sequential spaces behind. */
/* TODO(sergey): Consider using regex perhaps? */
string_replace(result, " (TM)", "");
string_replace(result, " (R)", "");
string_replace(result, "(TM)", "");
string_replace(result, "(R)", "");