diff options
-rw-r--r-- | tests/TextBlobTest.cpp | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/tests/TextBlobTest.cpp b/tests/TextBlobTest.cpp index f20e3e15cf..8e272a5869 100644 --- a/tests/TextBlobTest.cpp +++ b/tests/TextBlobTest.cpp @@ -11,6 +11,7 @@ #include "SkTypeface.h" #include "Test.h" +#include "sk_tool_utils.h" class TextBlobTester { public: @@ -424,14 +425,15 @@ static sk_sp<SkImage> render(const SkTextBlob* blob) { * Then draw the new instance and assert it draws the same as the original. */ DEF_TEST(TextBlob_serialize, reporter) { - SkTextBlobBuilder builder; + sk_sp<SkTextBlob> blob0 = []() { + sk_sp<SkTypeface> tf0; + sk_sp<SkTypeface> tf1 = SkTypeface::MakeFromName("Times", SkFontStyle()); - sk_sp<SkTypeface> tf0; - sk_sp<SkTypeface> tf1 = SkTypeface::MakeFromName("Times", SkFontStyle()); - - add_run(&builder, "Hello", 10, 20, tf0); - add_run(&builder, "World", 10, 40, tf1); - sk_sp<SkTextBlob> blob0 = builder.make(); + SkTextBlobBuilder builder; + add_run(&builder, "Hello", 10, 20, tf0); + add_run(&builder, "World", 10, 40, tf1); + return builder.make(); + }(); SkTDArray<SkTypeface*> array; sk_sp<SkData> data = blob0->serialize([](SkTypeface* tf, void* ctx) { @@ -457,15 +459,6 @@ DEF_TEST(TextBlob_serialize, reporter) { sk_sp<SkImage> img0 = render(blob0.get()); sk_sp<SkImage> img1 = render(blob1.get()); if (img0 && img1) { - REPORTER_ASSERT(reporter, img0->width() == img1->width()); - REPORTER_ASSERT(reporter, img0->height() == img1->height()); - - sk_sp<SkData> enc0 = img0->encodeToData(); - sk_sp<SkData> enc1 = img1->encodeToData(); - REPORTER_ASSERT(reporter, enc0->equals(enc1.get())); - if (false) { // in case you want to actually see the images... - SkFILEWStream("textblob_serialize_img0.png").write(enc0->data(), enc0->size()); - SkFILEWStream("textblob_serialize_img1.png").write(enc1->data(), enc1->size()); - } + REPORTER_ASSERT(reporter, sk_tool_utils::equal_pixels(img0.get(), img1.get())); } } |