Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(175)

Unified Diff: tests/SerializationTest.cpp

Issue 1027373002: Font variations. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Rebase Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tests/FontConfigParser.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/SerializationTest.cpp
diff --git a/tests/SerializationTest.cpp b/tests/SerializationTest.cpp
index f7e298305f86fc5741b7d07422485785c95dbbe1..31dbbe8ad93c00af466b4c3f8a632c44121d5284 100644
--- a/tests/SerializationTest.cpp
+++ b/tests/SerializationTest.cpp
@@ -8,6 +8,8 @@
#include "Resources.h"
#include "SkBitmapSource.h"
#include "SkCanvas.h"
+#include "SkFixed.h"
+#include "SkFontDescriptor.h"
#include "SkMallocPixelRef.h"
#include "SkOSFile.h"
#include "SkPictureRecorder.h"
@@ -315,21 +317,14 @@ static void compare_bitmaps(skiatest::Reporter* reporter,
}
REPORTER_ASSERT(reporter, 0 == pixelErrors);
}
-
-static void TestPictureTypefaceSerialization(skiatest::Reporter* reporter) {
- // Load typeface form file to test CreateFromFile with index.
- SkString filename = GetResourcePath("/fonts/test.ttc");
- SkTypeface* typeface = SkTypeface::CreateFromFile(filename.c_str(), 1);
- if (!typeface) {
- SkDebugf("Could not run fontstream test because test.ttc not found.");
- return;
- }
-
- // Create a paint with the typeface we loaded.
+static void serialize_and_compare_typeface(SkTypeface* typeface, const char* text,
+ skiatest::Reporter* reporter)
+{
+ // Create a paint with the typeface.
SkPaint paint;
paint.setColor(SK_ColorGRAY);
paint.setTextSize(SkIntToScalar(30));
- SkSafeUnref(paint.setTypeface(typeface));
+ paint.setTypeface(typeface);
// Paint some text.
SkPictureRecorder recorder;
@@ -338,7 +333,7 @@ static void TestPictureTypefaceSerialization(skiatest::Reporter* reporter) {
SkIntToScalar(canvasRect.height()),
NULL, 0);
canvas->drawColor(SK_ColorWHITE);
- canvas->drawText("A!", 2, 24, 32, paint);
+ canvas->drawText(text, 2, 24, 32, paint);
SkAutoTUnref<SkPicture> picture(recorder.endRecording());
// Serlialize picture and create its clone from stream.
@@ -353,6 +348,36 @@ static void TestPictureTypefaceSerialization(skiatest::Reporter* reporter) {
compare_bitmaps(reporter, origBitmap, destBitmap);
}
+static void TestPictureTypefaceSerialization(skiatest::Reporter* reporter) {
+ {
+ // Load typeface from file to test CreateFromFile with index.
+ SkString filename = GetResourcePath("/fonts/test.ttc");
+ SkAutoTUnref<SkTypeface> typeface(SkTypeface::CreateFromFile(filename.c_str(), 1));
+ if (!typeface) {
+ SkDebugf("Could not run fontstream test because test.ttc not found.");
+ } else {
+ serialize_and_compare_typeface(typeface, "A!", reporter);
+ }
+ }
+
+ {
+ // Load typeface as stream to create with axis settings.
+ SkAutoTDelete<SkStreamAsset> distortable(GetResourceAsStream("/fonts/Distortable.ttf"));
+ if (!distortable) {
+ SkDebugf("Could not run fontstream test because Distortable.ttf not found.");
+ } else {
+ SkFixed axis = SK_FixedSqrt2;
+ SkAutoTUnref<SkTypeface> typeface(SkTypeface::CreateFromFontData(
+ new SkFontData(distortable.detach(), 0, &axis, 1)));
+ if (!typeface) {
+ SkDebugf("Could not run fontstream test because Distortable.ttf not created.");
+ } else {
+ serialize_and_compare_typeface(typeface, "abc", reporter);
+ }
+ }
+ }
+}
+
static void setup_bitmap_for_canvas(SkBitmap* bitmap) {
bitmap->allocN32Pixels(kBitmapSize, kBitmapSize);
}
« no previous file with comments | « tests/FontConfigParser.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698