aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--tests/TextBlobTest.cpp27
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()));
}
}