diff options
author | 2016-05-08 18:47:16 -0700 | |
---|---|---|
committer | 2016-05-08 18:47:16 -0700 | |
commit | e20a87517043ec4a30dcc7e711ca49087e8942ff (patch) | |
tree | a850e29b414362f0d84d919ca18b5462df8e4857 /tests | |
parent | 0938befe5d1e36df820a67e5dc554b462388d46b (diff) |
SkAdvancedTypefaceMetrics: abstract out linked list
+ use SkSinglyLinkedList<T>
+ move SkSinglyLinkedList.h to core
+ remove SkHackyAutoTDelete
+ getAdvanceData() -> setGlyphWidths()
+ finishRange no longer templated
+ remove unused templated functions
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1953153004
Review-Url: https://codereview.chromium.org/1953153004
Diffstat (limited to 'tests')
-rw-r--r-- | tests/WArrayTest.cpp | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/tests/WArrayTest.cpp b/tests/WArrayTest.cpp index 40128fa2b4..55f2a10b01 100644 --- a/tests/WArrayTest.cpp +++ b/tests/WArrayTest.cpp @@ -10,8 +10,6 @@ // Include the implementation so we can make an appropriate template instance. #include "SkAdvancedTypefaceMetrics.h" -using namespace skia_advanced_typeface_metrics_utils; - // Negative values and zeros in a range plus trailing zeros. // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 static const int16_t data1[] = {-1, 0, -3, 4, 5, 6, 7, 0, 0, 0, 8, 0, 0, 0, 0}; @@ -98,34 +96,35 @@ static const char* expected14 = "0[1] 5[2]"; static const uint32_t subset14[] = {0, 5}; static const char* expectedSubset14 = "0[1] 5[2]"; -static SkString stringify_advance_data(SkAdvancedTypefaceMetrics::AdvanceMetric<int16_t>* data) { +static SkString stringify_advance_data(const SkSinglyLinkedList< + SkAdvancedTypefaceMetrics::AdvanceMetric<int16_t>>& list) { SkString result; bool leadingSpace = false; - while (data != nullptr) { - if (leadingSpace) { - result.append(" "); - } else { - leadingSpace = true; - } - switch(data->fType) { - case SkAdvancedTypefaceMetrics::AdvanceMetric<int16_t>::kRun: - result.appendf("%d %d %d", data->fStartId, data->fEndId, data->fAdvance[0]); - break; - case SkAdvancedTypefaceMetrics::AdvanceMetric<int16_t>::kRange: - result.appendf("%d[", data->fStartId); - for (int i = 0; i < data->fAdvance.count(); ++i) { - if (i > 0) { - result.append(" "); - } - result.appendf("%d", data->fAdvance[i]); - } - result.append("]"); - break; - case SkAdvancedTypefaceMetrics::AdvanceMetric<int16_t>::kDefault: - result.appendf("<Default=%d>", data->fAdvance[0]); - break; - } - data = data->fNext.get(); + for (const SkAdvancedTypefaceMetrics::AdvanceMetric<int16_t>& data : list) { + if (leadingSpace) { + result.append(" "); + } else { + leadingSpace = true; + } + switch (data.fType) { + case SkAdvancedTypefaceMetrics::AdvanceMetric<int16_t>::kRun: + result.appendf("%d %d %d", data.fStartId, data.fEndId, + data.fAdvance[0]); + break; + case SkAdvancedTypefaceMetrics::AdvanceMetric<int16_t>::kRange: + result.appendf("%d[", data.fStartId); + for (int i = 0; i < data.fAdvance.count(); ++i) { + if (i > 0) { + result.append(" "); + } + result.appendf("%d", data.fAdvance[i]); + } + result.append("]"); + break; + case SkAdvancedTypefaceMetrics::AdvanceMetric<int16_t>::kDefault: + result.appendf("<Default=%d>", data.fAdvance[0]); + break; + } } return result; } @@ -161,10 +160,11 @@ class TestWData { } void runTest(skiatest::Reporter* reporter) { - SkAutoTDelete<SkAdvancedTypefaceMetrics::AdvanceMetric<int16_t> > result; - result.reset(getAdvanceData((void*)this, fAdvancesLen, fSubset, fSubsetLen, getAdvance)); + SkAdvancedTypefaceMetrics metrics; + metrics.setGlyphWidths((void*)this, fAdvancesLen, fSubset, fSubsetLen, + getAdvance); - SkString stringResult = stringify_advance_data(result); + SkString stringResult = stringify_advance_data(metrics.fGlyphWidths); if (!stringResult.equals(fExpected)) { ERRORF(reporter, "Expected: %s\n Result: %s\n", fExpected, stringResult.c_str()); } |