| Index: tests/FontMgrTest.cpp
|
| diff --git a/tests/FontMgrTest.cpp b/tests/FontMgrTest.cpp
|
| index 6e59364684f2aca01d5f76d22e2ea0b30cf45095..69e2088c6662670b967da8f2b56e5670f90d0607 100644
|
| --- a/tests/FontMgrTest.cpp
|
| +++ b/tests/FontMgrTest.cpp
|
| @@ -10,6 +10,44 @@
|
| #include "SkTypeface.h"
|
| #include "Test.h"
|
|
|
| +#include "SkFont.h"
|
| +#include "SkPaint.h"
|
| +static void test_font(skiatest::Reporter* reporter) {
|
| + uint32_t flags = 0;
|
| + SkAutoTUnref<SkFont> font(SkFont::Create(NULL, 24, SkFont::kA8_MaskType, flags));
|
| +
|
| + REPORTER_ASSERT(reporter, NULL != font->getTypeface());
|
| + REPORTER_ASSERT(reporter, 24 == font->getSize());
|
| + REPORTER_ASSERT(reporter, 1 == font->getScaleX());
|
| + REPORTER_ASSERT(reporter, 0 == font->getSkewX());
|
| + REPORTER_ASSERT(reporter, SkFont::kA8_MaskType == font->getMaskType());
|
| +
|
| + uint16_t glyphs[5];
|
| + sk_bzero(glyphs, sizeof(glyphs));
|
| +
|
| + int count = font->textToGlyphs("Hello", 5, kUTF8_SkTextEncoding, glyphs, SK_ARRAY_COUNT(glyphs));
|
| +
|
| + REPORTER_ASSERT(reporter, 5 == count);
|
| + for (int i = 0; i < count; ++i) {
|
| + REPORTER_ASSERT(reporter, 0 != glyphs[i]);
|
| + }
|
| + REPORTER_ASSERT(reporter, glyphs[0] != glyphs[1]); // 'h' != 'e'
|
| + REPORTER_ASSERT(reporter, glyphs[2] == glyphs[3]); // 'l' == 'l'
|
| +
|
| + SkAutoTUnref<SkFont> newFont(font->cloneWithSize(36));
|
| + REPORTER_ASSERT(reporter, newFont.get());
|
| + REPORTER_ASSERT(reporter, font->getTypeface() == newFont->getTypeface());
|
| + REPORTER_ASSERT(reporter, 36 == newFont->getSize()); // double check we haven't changed
|
| + REPORTER_ASSERT(reporter, 24 == font->getSize()); // double check we haven't changed
|
| +
|
| + SkPaint paint;
|
| + paint.setTextSize(18);
|
| + font.reset(SkFont::Testing_CreateFromPaint(paint));
|
| + REPORTER_ASSERT(reporter, font.get());
|
| + REPORTER_ASSERT(reporter, font->getSize() == paint.getTextSize());
|
| + REPORTER_ASSERT(reporter, SkFont::kBW_MaskType == font->getMaskType());
|
| +}
|
| +
|
| /*
|
| * If the font backend is going to "alias" some font names to other fonts
|
| * (e.g. sans -> Arial) then we want to at least get the same typeface back
|
| @@ -78,4 +116,5 @@ DEFINE_bool(verboseFontMgr, false, "run verbose fontmgr tests.");
|
| DEF_TEST(FontMgr, reporter) {
|
| test_fontiter(reporter, FLAGS_verboseFontMgr);
|
| test_alias_names(reporter);
|
| + test_font(reporter);
|
| }
|
|
|