aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorGravatar halcanary <halcanary@google.com>2016-05-08 18:47:16 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-05-08 18:47:16 -0700
commite20a87517043ec4a30dcc7e711ca49087e8942ff (patch)
treea850e29b414362f0d84d919ca18b5462df8e4857 /tests
parent0938befe5d1e36df820a67e5dc554b462388d46b (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.cpp62
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());
}