add SkString::append(const char c)
authorepoger@google.com <epoger@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Thu, 9 May 2013 19:37:41 +0000 (19:37 +0000)
committerepoger@google.com <epoger@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Thu, 9 May 2013 19:37:41 +0000 (19:37 +0000)
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/14813013

git-svn-id: http://skia.googlecode.com/svn/trunk@9081 2bbb7eff-a529-9590-31e7-b0007b416f81

include/core/SkString.h
tests/StringTest.cpp

index 743f07889d079c9d41e2644ee4f1c078978671c0..a2579d91354b5f08f1ba6738680d413921a5835e 100644 (file)
@@ -168,6 +168,7 @@ public:
     void insertScalar(size_t offset, SkScalar);
 
     void append(const SkString& str) { this->insert((size_t)-1, str); }
+    void append(const char c) { this->insert((size_t)-1, &c, 1); }
     void append(const char text[]) { this->insert((size_t)-1, text); }
     void append(const char text[], size_t len) { this->insert((size_t)-1, text, len); }
     void appendUnichar(SkUnichar uni) { this->insertUnichar((size_t)-1, uni); }
@@ -194,7 +195,7 @@ public:
 
     SkString& operator+=(const SkString& s) { this->append(s); return *this; }
     SkString& operator+=(const char text[]) { this->append(text); return *this; }
-    SkString& operator+=(const char c) { this->append(&c, 1); return *this; }
+    SkString& operator+=(const char c) { this->append(c); return *this; }
 
     /**
      *  Swap contents between this and other. This function is guaranteed
index 2c5026c6829af161b5b7e30254340c5ac6e26456..487876490ce4d8deb64440b9ce5262647e8dc244 100644 (file)
@@ -92,6 +92,18 @@ static void TestString(skiatest::Reporter* reporter) {
     f.prepend("hello ");
     REPORTER_ASSERT(reporter, a.equals("hello world") && a == e && a == f);
 
+    a.reset();
+    a.append(SkString("string"));
+    a.append("text");
+    a.append('c');
+    REPORTER_ASSERT(reporter, a.equals("stringtextc"));
+
+    a.reset();
+    a += 'c';
+    a += "text";
+    a += SkString("string");
+    REPORTER_ASSERT(reporter, a.equals("ctextstring"));
+
     a.reset();
     b.resize(0);
     REPORTER_ASSERT(reporter, a.isEmpty() && b.isEmpty() && a == b);