Commit: 6a546fc73e00a8064c7c483f0af558d37a8a7f0a
Author: Sergey Sharybin
Date:   Thu Jun 8 12:15:24 2017 +0200
Branches: master
https://developer.blender.org/rB6a546fc73e00a8064c7c483f0af558d37a8a7f0a

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

===================================================================

M       intern/cycles/test/util_string_test.cpp
M       intern/cycles/util/util_string.cpp

===================================================================

diff --git a/intern/cycles/test/util_string_test.cpp 
b/intern/cycles/test/util_string_test.cpp
index 22ec8e0ee8e..6c059ba5d12 100644
--- a/intern/cycles/test/util_string_test.cpp
+++ b/intern/cycles/test/util_string_test.cpp
@@ -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
diff --git a/intern/cycles/util/util_string.cpp 
b/intern/cycles/util/util_string.cpp
index a1008d510d1..94ad512982c 100644
--- a/intern/cycles/util/util_string.cpp
+++ b/intern/cycles/util/util_string.cpp
@@ -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)", "");

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to