summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/skia/experimental/Intersection/EdgeWalkerQuadralaterals_Test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/skia/experimental/Intersection/EdgeWalkerQuadralaterals_Test.cpp')
-rw-r--r--chromium/third_party/skia/experimental/Intersection/EdgeWalkerQuadralaterals_Test.cpp126
1 files changed, 126 insertions, 0 deletions
diff --git a/chromium/third_party/skia/experimental/Intersection/EdgeWalkerQuadralaterals_Test.cpp b/chromium/third_party/skia/experimental/Intersection/EdgeWalkerQuadralaterals_Test.cpp
new file mode 100644
index 00000000000..92e474b84a9
--- /dev/null
+++ b/chromium/third_party/skia/experimental/Intersection/EdgeWalkerQuadralaterals_Test.cpp
@@ -0,0 +1,126 @@
+/*
+ * 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 "EdgeWalker_Test.h"
+#include "Intersection_Tests.h"
+#include "SkBitmap.h"
+
+static SkBitmap bitmap;
+
+static void testSimplifyQuad1() {
+ SkPath path, out;
+ path.moveTo(0, 0);
+ path.lineTo(1, 0);
+ path.lineTo(3, 2);
+ path.lineTo(3, 3);
+ path.close();
+ path.moveTo(1, 0);
+ path.lineTo(1, 3);
+ path.lineTo(1, 3);
+ path.lineTo(1, 3);
+ path.close();
+ testSimplify(path, true, out, bitmap);
+}
+
+static void testSimplifyQuad2() {
+ SkPath path, out;
+ path.moveTo(0, 0);
+ path.lineTo(0, 0);
+ path.lineTo(0, 0);
+ path.lineTo(0, 2);
+ path.close();
+ path.moveTo(0, 1);
+ path.lineTo(0, 1);
+ path.lineTo(1, 1);
+ path.lineTo(0, 2);
+ path.close();
+ testSimplify(path, true, out, bitmap);
+}
+
+static void testSimplifyQuad3() {
+ SkPath path, out;
+ path.moveTo(0, 0);
+ path.lineTo(0, 0);
+ path.lineTo(1, 0);
+ path.lineTo(1, 2);
+ path.close();
+ path.moveTo(0, 1);
+ path.lineTo(1, 1);
+ path.lineTo(2, 1);
+ path.lineTo(0, 2);
+ path.close();
+ testSimplify(path, true, out, bitmap);
+}
+
+static void testSimplifyQuad4() {
+ SkPath path, out;
+ path.moveTo(0, 0);
+ path.lineTo(0, 0);
+ path.lineTo(1, 0);
+ path.lineTo(2, 2);
+ path.close();
+ path.moveTo(0, 0);
+ path.lineTo(2, 1);
+ path.lineTo(3, 1);
+ path.lineTo(3, 3);
+ path.close();
+ testSimplify(path, true, out, bitmap);
+}
+
+static void testSimplifyQuad5() {
+ SkPath path, out;
+ path.moveTo(0, 0);
+ path.lineTo(0, 0);
+ path.lineTo(1, 0);
+ path.lineTo(3, 2);
+ path.close();
+ path.moveTo(0, 1);
+ path.lineTo(1, 1);
+ path.lineTo(2, 1);
+ path.lineTo(0, 2);
+ path.close();
+ testSimplify(path, true, out, bitmap);
+}
+
+static void testSimplifyQuad6() {
+ SkPath path, out;
+ path.moveTo(0, 0);
+ path.lineTo(1, 0);
+ path.lineTo(1, 1);
+ path.lineTo(3, 3);
+ path.close();
+ path.moveTo(1, 1);
+ path.lineTo(1, 1);
+ path.lineTo(1, 1);
+ path.lineTo(2, 2);
+ path.close();
+ testSimplify(path, true, out, bitmap);
+}
+
+static void (*simplifyTests[])() = {
+ testSimplifyQuad6,
+ testSimplifyQuad5,
+ testSimplifyQuad4,
+ testSimplifyQuad3,
+ testSimplifyQuad2,
+ testSimplifyQuad1,
+};
+
+static size_t simplifyTestsCount = sizeof(simplifyTests) / sizeof(simplifyTests[0]);
+
+static void (*firstTest)() = 0;
+
+void SimplifyQuadralateralPaths_Test() {
+ size_t index = 0;
+ if (firstTest) {
+ while (index < simplifyTestsCount && simplifyTests[index] != firstTest) {
+ ++index;
+ }
+ }
+ for ( ; index < simplifyTestsCount; ++index) {
+ (*simplifyTests[index])();
+ }
+}