| Index: tests/PathOpsDQuadTest.cpp
|
| diff --git a/tests/PathOpsDQuadTest.cpp b/tests/PathOpsDQuadTest.cpp
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..bd29ff11ba032983ead14d9e068867e04fd7b5ab
|
| --- /dev/null
|
| +++ b/tests/PathOpsDQuadTest.cpp
|
| @@ -0,0 +1,63 @@
|
| +/*
|
| + * Copyright 2012 Google Inc.
|
| + *
|
| + * Use of this source code is governed by a BSD-style license that can be
|
| + * found in the LICENSE file.
|
| + */
|
| +#include "PathOpsTestCommon.h"
|
| +#include "SkPath.h"
|
| +#include "SkPathOpsQuad.h"
|
| +#include "SkRRect.h"
|
| +#include "Test.h"
|
| +
|
| +static const SkDQuad tests[] = {
|
| + {{{1, 1}, {2, 1}, {0, 2}}},
|
| + {{{0, 0}, {1, 1}, {3, 1}}},
|
| + {{{2, 0}, {1, 1}, {2, 2}}},
|
| + {{{4, 0}, {0, 1}, {4, 2}}},
|
| + {{{0, 0}, {0, 1}, {1, 1}}},
|
| +};
|
| +
|
| +static const SkDPoint inPoint[]= {
|
| + {1, 1.2},
|
| + {1, 0.8},
|
| + {1.8, 1},
|
| + {1.5, 1},
|
| + {0.4999, 0.5}, // was 0.5, 0.5; points on the hull are considered outside
|
| +};
|
| +
|
| +static const SkDPoint outPoint[]= {
|
| + {1, 1.6},
|
| + {1, 1.5},
|
| + {2.2, 1},
|
| + {1.5, 1.5},
|
| + {1.1, 0.5},
|
| +};
|
| +
|
| +static const size_t tests_count = SK_ARRAY_COUNT(tests);
|
| +
|
| +DEF_TEST(PathOpsDQuad, reporter) {
|
| + for (size_t index = 0; index < tests_count; ++index) {
|
| + const SkDQuad& quad = tests[index];
|
| + SkASSERT(ValidQuad(quad));
|
| + bool result = quad.pointInHull(inPoint[index]);
|
| + if (!result) {
|
| + SkDebugf("%s [%d] expected in hull\n", __FUNCTION__, index);
|
| + REPORTER_ASSERT(reporter, 0);
|
| + }
|
| + result = quad.pointInHull(outPoint[index]);
|
| + if (result) {
|
| + SkDebugf("%s [%d] expected outside hull\n", __FUNCTION__, index);
|
| + REPORTER_ASSERT(reporter, 0);
|
| + }
|
| + }
|
| +}
|
| +
|
| +DEF_TEST(PathOpsRRect, reporter) {
|
| + SkPath path;
|
| + SkRRect rRect;
|
| + SkRect rect = {135, 143, 250, 177};
|
| + SkVector radii[4] = {{8, 8}, {8, 8}, {0, 0}, {0, 0}};
|
| + rRect.setRectRadii(rect, radii);
|
| + path.addRRect(rRect);
|
| +}
|
|
|