Fix TextBlobTest valgrind error

When converting text to glyph IDs, the paint needs to reflect the actual
text encoding.

R=bungeman@google.com,herb@google.com

Review URL: https://codereview.chromium.org/1404153002
diff --git a/tests/TextBlobTest.cpp b/tests/TextBlobTest.cpp
index 2a74e5a..027fd2a 100644
--- a/tests/TextBlobTest.cpp
+++ b/tests/TextBlobTest.cpp
@@ -11,7 +11,6 @@
 
 #include "Test.h"
 
-
 class TextBlobTester {
 public:
     // This unit test feeds an SkTextBlobBuilder various runs then checks to see if
@@ -155,13 +154,19 @@
             // don't trigger asserts (http://crbug.com/542643).
             SkPaint p;
             p.setTextSize(0);
-            p.setTextEncoding(SkPaint::kGlyphID_TextEncoding);
+            p.setTextEncoding(SkPaint::kUTF8_TextEncoding);
 
             const char* txt = "BOOO";
-            const size_t len = strlen(txt);
-            const SkTextBlobBuilder::RunBuffer& buffer = builder.allocRunPos(p, (int)len);
-            p.textToGlyphs(txt, len, buffer.glyphs);
-            memset(buffer.pos, 0, sizeof(SkScalar) * len * 2);
+            const size_t txtLen = strlen(txt);
+            const int glyphCount = p.textToGlyphs(txt, txtLen, nullptr);
+
+            p.setTextEncoding(SkPaint::kGlyphID_TextEncoding);
+            const SkTextBlobBuilder::RunBuffer& buffer = builder.allocRunPos(p, glyphCount);
+
+            p.setTextEncoding(SkPaint::kUTF8_TextEncoding);
+            p.textToGlyphs(txt, txtLen, buffer.glyphs);
+
+            memset(buffer.pos, 0, sizeof(SkScalar) * glyphCount * 2);
             SkAutoTUnref<const SkTextBlob> blob(builder.build());
             REPORTER_ASSERT(reporter, blob->bounds().isEmpty());
         }