Index: tests/WArrayTest.cpp |
diff --git a/tests/WArrayTest.cpp b/tests/WArrayTest.cpp |
index 40128fa2b4dd47c1e62c1a5dc5f0d8ce606928bf..55f2a10b01be5f340142b75377f573a11aec3997 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()); |
} |