aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorGravatar Hal Canary <halcanary@google.com>2018-04-10 11:27:48 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-05-09 14:24:45 +0000
commit1c2bcd8b14e029a70e88b1e81acd29553cab0d1c (patch)
tree723a0c85100bcb59590bd2e46fc5eb5c10472406 /tests
parenta2595f925596aca234d4ac4e35da689ef13cc27c (diff)
SkAdvancedTypefaceMetrics: factor out GlyphToUnicode
Change-Id: Iedce8c1ea2c405d5ab64ccac353970d5cd2b9d63 Reviewed-on: https://skia-review.googlesource.com/126507 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/FontMgrTest.cpp1
-rw-r--r--tests/PDFGlyphsToUnicodeTest.cpp18
-rw-r--r--tests/TypefaceTest.cpp11
3 files changed, 20 insertions, 10 deletions
diff --git a/tests/FontMgrTest.cpp b/tests/FontMgrTest.cpp
index 17a60bbd79..0f035a272f 100644
--- a/tests/FontMgrTest.cpp
+++ b/tests/FontMgrTest.cpp
@@ -133,6 +133,7 @@ static void test_matchStyleCSS3(skiatest::Reporter* reporter) {
return nullptr;
}
void onFilterRec(SkScalerContextRec*) const override { }
+ void getGlyphToUnicodeMap(SkUnichar*) const override { }
std::unique_ptr<SkAdvancedTypefaceMetrics> onGetAdvancedMetrics() const override {
return nullptr;
}
diff --git a/tests/PDFGlyphsToUnicodeTest.cpp b/tests/PDFGlyphsToUnicodeTest.cpp
index 332520bfb0..2aeedf0330 100644
--- a/tests/PDFGlyphsToUnicodeTest.cpp
+++ b/tests/PDFGlyphsToUnicodeTest.cpp
@@ -74,9 +74,12 @@ DEF_TEST(SkPDF_ToUnicode, reporter) {
glyphsInSubset.push(0x101);
glyphToUnicode.push(0x1013);
+ SkGlyphID lastGlyphID = SkToU16(glyphToUnicode.count() - 1);
+
SkDynamicMemoryWStream buffer;
subset.setAll(glyphsInSubset.begin(), glyphsInSubset.count());
- SkPDFAppendCmapSections(glyphToUnicode, &subset, &buffer, true, 0, 0xFFFF);
+ SkPDFAppendCmapSections(&glyphToUnicode[0], &subset, &buffer, true, 0,
+ SkTMin<SkGlyphID>(0xFFFF, lastGlyphID));
char expectedResult[] =
"4 beginbfchar\n\
@@ -98,7 +101,8 @@ endbfrange\n";
// Remove characters and ranges.
buffer.reset();
- SkPDFAppendCmapSections(glyphToUnicode, &subset, &buffer, true, 8, 0x00FF);
+ SkPDFAppendCmapSections(&glyphToUnicode[0], &subset, &buffer, true, 8,
+ SkTMin<SkGlyphID>(0x00FF, lastGlyphID));
char expectedResultChop1[] =
"2 beginbfchar\n\
@@ -116,7 +120,8 @@ endbfrange\n";
// Remove characters from range to downdrade it to one char.
buffer.reset();
- SkPDFAppendCmapSections(glyphToUnicode, &subset, &buffer, true, 0x00D, 0x00FE);
+ SkPDFAppendCmapSections(&glyphToUnicode[0], &subset, &buffer, true, 0x00D,
+ SkTMin<SkGlyphID>(0x00FE, lastGlyphID));
char expectedResultChop2[] =
"2 beginbfchar\n\
@@ -129,7 +134,8 @@ endbfchar\n";
buffer.reset();
- SkPDFAppendCmapSections(glyphToUnicode, nullptr, &buffer, false, 0xFC, 0x110);
+ SkPDFAppendCmapSections(&glyphToUnicode[0], nullptr, &buffer, false, 0xFC,
+ SkTMin<SkGlyphID>(0x110, lastGlyphID));
char expectedResultSingleBytes[] =
"2 beginbfchar\n\
@@ -155,6 +161,7 @@ endbfrange\n";
for (SkUnichar i = 0; i < 100; ++i) {
glyphToUnicode.push(i + 29);
}
+ lastGlyphID = SkToU16(glyphToUnicode.count() - 1);
glyphsInSubset.push(0x2C);
glyphsInSubset.push(0x44);
@@ -165,7 +172,8 @@ endbfrange\n";
SkDynamicMemoryWStream buffer2;
subset2.setAll(glyphsInSubset.begin(), glyphsInSubset.count());
- SkPDFAppendCmapSections(glyphToUnicode, &subset2, &buffer2, true, 0, 0xffff);
+ SkPDFAppendCmapSections(&glyphToUnicode[0], &subset2, &buffer2, true, 0,
+ SkTMin<SkGlyphID>(0xFFFF, lastGlyphID));
char expectedResult2[] =
"4 beginbfchar\n\
diff --git a/tests/TypefaceTest.cpp b/tests/TypefaceTest.cpp
index b6b71aeb8c..d791f750ec 100644
--- a/tests/TypefaceTest.cpp
+++ b/tests/TypefaceTest.cpp
@@ -203,11 +203,11 @@ DEF_TEST(Typeface, reporter) {
namespace {
-class SkEmptyTypeface : public SkTypeface {
+class EmptyTypeface : public SkTypeface {
public:
- static sk_sp<SkTypeface> Create() { return sk_sp<SkTypeface>(new SkEmptyTypeface()); }
+ static sk_sp<SkTypeface> Create() { return sk_sp<SkTypeface>(new EmptyTypeface()); }
protected:
- SkEmptyTypeface() : SkTypeface(SkFontStyle(), true) { }
+ EmptyTypeface() : SkTypeface(SkFontStyle(), true) { }
SkStreamAsset* onOpenStream(int* ttcIndex) const override { return nullptr; }
SkScalerContext* onCreateScalerContext(const SkScalerContextEffects&,
@@ -215,6 +215,7 @@ protected:
return nullptr;
}
void onFilterRec(SkScalerContextRec*) const override { }
+ void getGlyphToUnicodeMap(SkUnichar*) const override { }
std::unique_ptr<SkAdvancedTypefaceMetrics> onGetAdvancedMetrics() const override {
return nullptr;
}
@@ -255,12 +256,12 @@ static int count(skiatest::Reporter* reporter, const SkTypefaceCache& cache) {
}
DEF_TEST(TypefaceCache, reporter) {
- sk_sp<SkTypeface> t1(SkEmptyTypeface::Create());
+ sk_sp<SkTypeface> t1(EmptyTypeface::Create());
{
SkTypefaceCache cache;
REPORTER_ASSERT(reporter, count(reporter, cache) == 0);
{
- sk_sp<SkTypeface> t0(SkEmptyTypeface::Create());
+ sk_sp<SkTypeface> t0(EmptyTypeface::Create());
cache.add(t0.get());
REPORTER_ASSERT(reporter, count(reporter, cache) == 1);
cache.add(t1.get());