PathOpsSimplifyTest.cpp revision 4fdbb229649caf74e5c1b55a1823926df903af34
1818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com/*
2818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com * Copyright 2012 Google Inc.
3818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com *
4818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com * Use of this source code is governed by a BSD-style license that can be
5818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com * found in the LICENSE file.
6818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com */
7818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com#include "PathOpsExtendedTest.h"
8818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
9818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com#define TEST(name) { name, #name }
10818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
11818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine1(skiatest::Reporter* reporter) {
12818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
13818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2,0);
14818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1,1);
15818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0,0);
16818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
17818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
18818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
19818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
20818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine1x(skiatest::Reporter* reporter) {
21818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
22818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
23818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2,0);
24818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1,1);
25818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0,0);
26818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
27818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
28818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
29818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
30818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void addInnerCWTriangle(SkPath& path) {
31818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(3,0);
32818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,1);
33818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,1);
34818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
35818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
36818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
37818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void addInnerCCWTriangle(SkPath& path) {
38818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(3,0);
39818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,1);
40818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,1);
41818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
42818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
43818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
44818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void addOuterCWTriangle(SkPath& path) {
45818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(3,0);
46818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6,2);
47818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0,2);
48818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
49818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
50818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
51818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void addOuterCCWTriangle(SkPath& path) {
52818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(3,0);
53818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0,2);
54818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6,2);
55818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
56818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
57818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
58818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine2(skiatest::Reporter* reporter) {
59818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
60818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
61818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addInnerCWTriangle(path);
62818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addOuterCWTriangle(path);
63818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
64818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
65818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
66818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine2x(skiatest::Reporter* reporter) {
67818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
68818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
69818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addInnerCWTriangle(path);
70818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addOuterCWTriangle(path);
71818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
72818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
73818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
74818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine3(skiatest::Reporter* reporter) {
75818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
76818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
77818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addInnerCCWTriangle(path);
78818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addOuterCWTriangle(path);
79818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
80818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
81818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
82818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine3x(skiatest::Reporter* reporter) {
83818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
84818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
85818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addInnerCCWTriangle(path);
86818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addOuterCWTriangle(path);
87818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
88818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
89818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
90818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine3a(skiatest::Reporter* reporter) {
91818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
92818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addInnerCWTriangle(path);
93818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addOuterCCWTriangle(path);
94818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
95818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
96818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
97818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine3ax(skiatest::Reporter* reporter) {
98818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
99818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
100818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addInnerCWTriangle(path);
101818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addOuterCCWTriangle(path);
102818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
103818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
104818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
105818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine3b(skiatest::Reporter* reporter) {
106818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
107818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addInnerCCWTriangle(path);
108818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addOuterCCWTriangle(path);
109818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
110818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
111818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
112818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine3bx(skiatest::Reporter* reporter) {
113818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
114818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
115818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addInnerCCWTriangle(path);
116818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addOuterCCWTriangle(path);
117818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
118818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
119818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
120818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine4(skiatest::Reporter* reporter) {
121818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
122818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addOuterCCWTriangle(path);
123818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addOuterCWTriangle(path);
124818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
125818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
126818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
127818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine4x(skiatest::Reporter* reporter) {
128818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
129818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
130818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addOuterCCWTriangle(path);
131818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addOuterCWTriangle(path);
132818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
133818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
134818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
135818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine5(skiatest::Reporter* reporter) {
136818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
137818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addOuterCWTriangle(path);
138818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addOuterCWTriangle(path);
139818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
140818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
141818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
142818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine5x(skiatest::Reporter* reporter) {
143818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
144818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
145818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addOuterCWTriangle(path);
146818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addOuterCWTriangle(path);
147818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
148818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
149818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
150818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine6(skiatest::Reporter* reporter) {
151818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
152818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,0);
153818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,0);
154818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,2);
155818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
156818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2,0);
157818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6,0);
158818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,2);
159818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
160818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
161818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
162818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
163818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine6x(skiatest::Reporter* reporter) {
164818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
165818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
166818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,0);
167818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,0);
168818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,2);
169818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
170818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2,0);
171818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6,0);
172818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,2);
173818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
174818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
175818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
176818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
177818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine7(skiatest::Reporter* reporter) {
178818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
179818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,0);
180818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,0);
181818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,2);
182818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
183818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(6,0);
184818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,0);
185818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,2);
186818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
187818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
188818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
189818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
190818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine7x(skiatest::Reporter* reporter) {
191818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
192818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
193818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,0);
194818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,0);
195818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,2);
196818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
197818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(6,0);
198818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,0);
199818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,2);
200818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
201818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
202818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
203818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
204818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine7a(skiatest::Reporter* reporter) {
205818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
206818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,0);
207818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,0);
208818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,2);
209818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
210818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
211818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
212818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
213818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine7ax(skiatest::Reporter* reporter) {
214818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
215818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
216818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,0);
217818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,0);
218818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,2);
219818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
220818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
221818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
222818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
223818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine7b(skiatest::Reporter* reporter) {
224818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
225818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,0);
226818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,0);
227818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
228818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(6,0);
229818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,0);
230818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,2);
231818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
232818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
233818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
234818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
235818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine7bx(skiatest::Reporter* reporter) {
236818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
237818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
238818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,0);
239818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,0);
240818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
241818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(6,0);
242818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,0);
243818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,2);
244818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
245818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
246818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
247818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
248818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine8(skiatest::Reporter* reporter) {
249818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
250818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,4);
251818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,4);
252818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,2);
253818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
254818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2,4);
255818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6,4);
256818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,2);
257818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
258818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
259818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
260818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
261818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine8x(skiatest::Reporter* reporter) {
262818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
263818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
264818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,4);
265818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,4);
266818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,2);
267818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
268818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2,4);
269818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6,4);
270818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,2);
271818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
272818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
273818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
274818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
275818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine9(skiatest::Reporter* reporter) {
276818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
277818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,4);
278818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,4);
279818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,2);
280818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
281818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(6,4);
282818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,4);
283818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,2);
284818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
285818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
286818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
287818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
288818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine9x(skiatest::Reporter* reporter) {
289818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
290818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
291818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,4);
292818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,4);
293818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,2);
294818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
295818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(6,4);
296818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,4);
297818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,2);
298818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
299818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
300818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
301818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
302818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine10(skiatest::Reporter* reporter) {
303818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
304818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,4);
305818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,4);
306818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,2);
307818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
308818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2,1);
309818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3,4);
310818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6,1);
311818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
312818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
313818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
314818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
315818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine10x(skiatest::Reporter* reporter) {
316818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
317818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
318818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,4);
319818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,4);
320818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,2);
321818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
322818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2,1);
323818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3,4);
324818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6,1);
325818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
326818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
327818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
328818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
329818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine10a(skiatest::Reporter* reporter) {
330818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
331818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,4);
332818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(8,4);
333818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,0);
334818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
335818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2,2);
336818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3,3);
337818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,2);
338818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
339818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
340818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
341818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
342818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine10ax(skiatest::Reporter* reporter) {
343818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
344818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
345818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,4);
346818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(8,4);
347818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,0);
348818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
349818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2,2);
350818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3,3);
351818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,2);
352818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
353818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
354818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
355818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
356818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void addCWContainer(SkPath& path) {
357818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(6,4);
358818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0,4);
359818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3,1);
360818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
361818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
362818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
363818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void addCCWContainer(SkPath& path) {
364818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,4);
365818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6,4);
366818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3,1);
367818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
368818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
369818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
370818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void addCWContents(SkPath& path) {
371818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2,3);
372818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3,2);
373818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,3);
374818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
375818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
376818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
377818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void addCCWContents(SkPath& path) {
378818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(3,2);
379818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,3);
380818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,3);
381818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
382818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
383818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
384818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine11(skiatest::Reporter* reporter) {
385818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
386818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addCWContainer(path);
387818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addCWContents(path);
388818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
389818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
390818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
391818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine11x(skiatest::Reporter* reporter) {
392818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
393818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
394818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addCWContainer(path);
395818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addCWContents(path);
396818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
397818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
398818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
399818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine12(skiatest::Reporter* reporter) {
400818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
401818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addCCWContainer(path);
402818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addCWContents(path);
403818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
404818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
405818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
406818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine12x(skiatest::Reporter* reporter) {
407818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
408818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
409818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addCCWContainer(path);
410818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addCWContents(path);
411818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
412818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
413818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
414818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine13(skiatest::Reporter* reporter) {
415818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
416818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addCWContainer(path);
417818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addCCWContents(path);
418818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
419818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
420818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
421818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine13x(skiatest::Reporter* reporter) {
422818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
423818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
424818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addCWContainer(path);
425818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addCCWContents(path);
426818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
427818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
428818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
429818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine14(skiatest::Reporter* reporter) {
430818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
431818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addCCWContainer(path);
432818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addCCWContents(path);
433818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
434818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
435818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
436818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine14x(skiatest::Reporter* reporter) {
437818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
438818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
439818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addCCWContainer(path);
440818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    addCCWContents(path);
441818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
442818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
443818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
444818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine15(skiatest::Reporter* reporter) {
445818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
446818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 9, 9, SkPath::kCW_Direction);
447818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
448818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
449818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
450818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine15x(skiatest::Reporter* reporter) {
451818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
452818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
453818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 9, 9, SkPath::kCW_Direction);
454818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
455818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
456818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
457818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine16(skiatest::Reporter* reporter) {
458818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
459818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
460818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 4, 9, 9, SkPath::kCW_Direction);
461818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
462818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
463818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
464818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine16x(skiatest::Reporter* reporter) {
465818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
466818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
467818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
468818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 4, 9, 9, SkPath::kCW_Direction);
469818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
470818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
471818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
472818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine17(skiatest::Reporter* reporter) {
473818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
474818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
475818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
476818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
477818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
478818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
479818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine17x(skiatest::Reporter* reporter) {
480818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
481818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
482818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
483818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
484818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
485818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
486818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
487818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine18(skiatest::Reporter* reporter) {
488818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
489818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
490818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 4, 21, 21, SkPath::kCW_Direction);
491818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
492818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
493818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
494818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine18x(skiatest::Reporter* reporter) {
495818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
496818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
497818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
498818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 4, 21, 21, SkPath::kCW_Direction);
499818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
500818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
501818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
502818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine19(skiatest::Reporter* reporter) {
503818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
504818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
505818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 16, 21, 21, SkPath::kCW_Direction);
506818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
507818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
508818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
509818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine19x(skiatest::Reporter* reporter) {
510818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
511818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
512818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
513818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 16, 21, 21, SkPath::kCW_Direction);
514818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
515818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
516818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
517818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine20(skiatest::Reporter* reporter) {
518818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
519818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
520818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 9, 9, SkPath::kCW_Direction);
521818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
522818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
523818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
524818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine20x(skiatest::Reporter* reporter) {
525818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
526818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
527818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
528818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 9, 9, SkPath::kCW_Direction);
529818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
530818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
531818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
532818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine21(skiatest::Reporter* reporter) {
533818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
534818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
535818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 16, 9, 9, SkPath::kCW_Direction);
536818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
537818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
538818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
539818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine21x(skiatest::Reporter* reporter) {
540818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
541818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
542818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
543818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 16, 9, 9, SkPath::kCW_Direction);
544818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
545818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
546818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
547818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine22(skiatest::Reporter* reporter) {
548818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
549818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
550818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
551818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
552818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
553818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
554818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine22x(skiatest::Reporter* reporter) {
555818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
556818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
557818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
558818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
559818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
560818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
561818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
562818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine23(skiatest::Reporter* reporter) {
563818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
564818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
565818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 21, 21, SkPath::kCW_Direction);
566818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
567818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
568818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
569818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine23x(skiatest::Reporter* reporter) {
570818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
571818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
572818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
573818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 21, 21, SkPath::kCW_Direction);
574818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
575818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
576818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
577818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine24a(skiatest::Reporter* reporter) {
578818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
579818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2,0);
580818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,4);
581818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0,4);
582818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
583818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2,0);
584818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1,2);
585818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,2);
586818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
587818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
588818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
589818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
590818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine24ax(skiatest::Reporter* reporter) {
591818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
592818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
593818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2,0);
594818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4,4);
595818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0,4);
596818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
597818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2,0);
598818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1,2);
599818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2,2);
600818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
601818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
602818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
603818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
604818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine24(skiatest::Reporter* reporter) {
605818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
606818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 18, 12, 12, SkPath::kCW_Direction);
607818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
608818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
609818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
610818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
611818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine24x(skiatest::Reporter* reporter) {
612818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
613818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
614818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 18, 12, 12, SkPath::kCW_Direction);
615818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
616818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
617818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
618818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
619818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine25(skiatest::Reporter* reporter) {
620818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
621818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 6, 12, 12, SkPath::kCW_Direction);
622818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 21, 21, SkPath::kCW_Direction);
623818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
624818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
625818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
626818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine25x(skiatest::Reporter* reporter) {
627818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
628818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
629818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 6, 12, 12, SkPath::kCW_Direction);
630818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 21, 21, SkPath::kCW_Direction);
631818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
632818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
633818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
634818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine26(skiatest::Reporter* reporter) {
635818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
636818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 18, 12, 12, SkPath::kCW_Direction);
637818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 9, 9, SkPath::kCW_Direction);
638818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
639818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
640818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
641818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine26x(skiatest::Reporter* reporter) {
642818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
643818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
644818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 18, 12, 12, SkPath::kCW_Direction);
645818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 9, 9, SkPath::kCW_Direction);
646818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
647818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
648818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
649818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine27(skiatest::Reporter* reporter) {
650818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
651818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 18, 12, 12, SkPath::kCW_Direction);
652818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 8, 21, 21, SkPath::kCW_Direction);
653818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
654818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
655818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
656818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine27x(skiatest::Reporter* reporter) {
657818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
658818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
659818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 18, 12, 12, SkPath::kCW_Direction);
660818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 8, 21, 21, SkPath::kCW_Direction);
661818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
662818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
663818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
664818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine28(skiatest::Reporter* reporter) {
665818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
666818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 6, 12, 12, SkPath::kCW_Direction);
667818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 9, 9, SkPath::kCW_Direction);
668818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
669818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
670818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
671818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine28x(skiatest::Reporter* reporter) {
672818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
673818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
674818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 6, 12, 12, SkPath::kCW_Direction);
675818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 9, 9, SkPath::kCW_Direction);
676818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
677818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
678818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
679818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine29(skiatest::Reporter* reporter) {
680818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
681818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 18, 12, 12, SkPath::kCW_Direction);
682818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 12, 21, 21, SkPath::kCW_Direction);
683818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
684818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
685818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
686818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine29x(skiatest::Reporter* reporter) {
687818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
688818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
689818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 18, 12, 12, SkPath::kCW_Direction);
690818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 12, 21, 21, SkPath::kCW_Direction);
691818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
692818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
693818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
694818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine30(skiatest::Reporter* reporter) {
695818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
696818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
697818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
698818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 4, 13, 13, SkPath::kCW_Direction);
699818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
700818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
701818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
702818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine30x(skiatest::Reporter* reporter) {
703818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
704818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
705818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
706818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
707818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 4, 13, 13, SkPath::kCW_Direction);
708818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
709818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
710818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
711818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine31(skiatest::Reporter* reporter) {
712818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
713818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
714818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
715818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 4, 9, 9, SkPath::kCW_Direction);
716818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
717818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
718818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
719818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine31x(skiatest::Reporter* reporter) {
720818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
721818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
722818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
723818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
724818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 4, 9, 9, SkPath::kCW_Direction);
725818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
726818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
727818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
728818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine32(skiatest::Reporter* reporter) {
729818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
730818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
731818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
732818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
733818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
734818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
735818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
736818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine32x(skiatest::Reporter* reporter) {
737818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
738818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
739818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
740818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
741818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
742818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
743818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
744818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
745818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine33(skiatest::Reporter* reporter) {
746818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
747818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
748818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
749818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 16, 13, 13, SkPath::kCW_Direction);
750818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
751818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
752818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
753818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine33x(skiatest::Reporter* reporter) {
754818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
755818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
756818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
757818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
758818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 16, 13, 13, SkPath::kCW_Direction);
759818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
760818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
761818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
762818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine34(skiatest::Reporter* reporter) {
763818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
764818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
765818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 6, 12, 12, SkPath::kCW_Direction);
766818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
767818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
768818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
769818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
770818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine34x(skiatest::Reporter* reporter) {
771818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
772818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
773818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
774818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 6, 12, 12, SkPath::kCW_Direction);
775818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
776818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
777818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
778818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
779818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine35(skiatest::Reporter* reporter) {
780818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
781818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
782818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 0, 18, 18, SkPath::kCW_Direction);
783818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 16, 13, 13, SkPath::kCW_Direction);
784818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
785818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
786818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
787818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine35x(skiatest::Reporter* reporter) {
788818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
789818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
790818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
791818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 0, 18, 18, SkPath::kCW_Direction);
792818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 16, 13, 13, SkPath::kCW_Direction);
793818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
794818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
795818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
796818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine36(skiatest::Reporter* reporter) {
797818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
798818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 10, 20, 20, SkPath::kCW_Direction);
799818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 12, 18, 18, SkPath::kCW_Direction);
800818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 16, 13, 13, SkPath::kCW_Direction);
801818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
802818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
803818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
804818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine36x(skiatest::Reporter* reporter) {
805818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
806818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
807818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 10, 20, 20, SkPath::kCW_Direction);
808818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 12, 18, 18, SkPath::kCW_Direction);
809818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 16, 13, 13, SkPath::kCW_Direction);
810818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
811818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
812818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
813818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine37(skiatest::Reporter* reporter) {
814818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
815818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 20, 20, 20, SkPath::kCW_Direction);
816818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 24, 30, 30, SkPath::kCW_Direction);
817818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 9, 9, SkPath::kCW_Direction);
818818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
819818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
820818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
821818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine37x(skiatest::Reporter* reporter) {
822818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
823818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
824818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 20, 20, 20, SkPath::kCW_Direction);
825818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 24, 30, 30, SkPath::kCW_Direction);
826818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 9, 9, SkPath::kCW_Direction);
827818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
828818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
829818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
830818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine38(skiatest::Reporter* reporter) {
831818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
832818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 0, 30, 30, SkPath::kCW_Direction);
833818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 12, 18, 18, SkPath::kCW_Direction);
834818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 12, 21, 21, SkPath::kCW_Direction);
835818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
836818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
837818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
838818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine38x(skiatest::Reporter* reporter) {
839818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
840818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
841818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 0, 30, 30, SkPath::kCW_Direction);
842818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 12, 18, 18, SkPath::kCW_Direction);
843818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 12, 21, 21, SkPath::kCW_Direction);
844818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
845818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
846818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
847818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine40(skiatest::Reporter* reporter) {
848818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
849818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 0, 30, 30, SkPath::kCW_Direction);
850818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 18, 24, 24, SkPath::kCW_Direction);
851818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 16, 13, 13, SkPath::kCW_Direction);
852818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
853818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
854818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
855818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine40x(skiatest::Reporter* reporter) {
856818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
857818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
858818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 0, 30, 30, SkPath::kCW_Direction);
859818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 18, 24, 24, SkPath::kCW_Direction);
860818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 16, 13, 13, SkPath::kCW_Direction);
861818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
862818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
863818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
864818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine41(skiatest::Reporter* reporter) {
865818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
866818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
867818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 24, 30, 30, SkPath::kCW_Direction);
868818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 21, 21, SkPath::kCW_Direction);
869818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
870818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
871818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
872818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine41x(skiatest::Reporter* reporter) {
873818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
874818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
875818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
876818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 24, 30, 30, SkPath::kCW_Direction);
877818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 21, 21, SkPath::kCW_Direction);
878818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
879818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
880818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
881818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine42(skiatest::Reporter* reporter) {
882818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
883818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
884818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
885818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(8, 16, 17, 17, SkPath::kCW_Direction);
886818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
887818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
888818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
889818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine42x(skiatest::Reporter* reporter) {
890818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
891818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
892818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
893818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
894818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(8, 16, 17, 17, SkPath::kCW_Direction);
895818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
896818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
897818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
898818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine43(skiatest::Reporter* reporter) {
899818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
900818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
901818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 24, 18, 18, SkPath::kCW_Direction);
902818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction);
903818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
904818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
905818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
906818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine43x(skiatest::Reporter* reporter) {
907818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
908818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
909818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
910818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 24, 18, 18, SkPath::kCW_Direction);
911818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction);
912818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
913818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
914818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
915818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine44(skiatest::Reporter* reporter) {
916818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
917818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
918818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 0, 30, 30, SkPath::kCW_Direction);
919818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 32, 27, 36, SkPath::kCCW_Direction);
920818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
921818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
922818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
923818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine44x(skiatest::Reporter* reporter) {
924818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
925818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
926818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
927818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 0, 30, 30, SkPath::kCW_Direction);
928818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 32, 27, 36, SkPath::kCCW_Direction);
929818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
930818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
931818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
932818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine45(skiatest::Reporter* reporter) {
933818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
934818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 0, 30, 30, SkPath::kCW_Direction);
935818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 0, 30, 30, SkPath::kCW_Direction);
936818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 32, 33, 36, SkPath::kCW_Direction);
937818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
938818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
939818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
940818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine45x(skiatest::Reporter* reporter) {
941818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
942818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
943818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 0, 30, 30, SkPath::kCW_Direction);
944818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 0, 30, 30, SkPath::kCW_Direction);
945818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 32, 33, 36, SkPath::kCW_Direction);
946818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
947818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
948818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
949818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine46(skiatest::Reporter* reporter) {
950818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
951818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
952818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 0, 36, 36, SkPath::kCW_Direction);
953818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 32, 33, 36, SkPath::kCW_Direction);
954818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
955818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
956818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
957818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine46x(skiatest::Reporter* reporter) {
958818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
959818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
960818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
961818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 0, 36, 36, SkPath::kCW_Direction);
962818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 32, 33, 36, SkPath::kCW_Direction);
963818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
964818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
965818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
966818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine47(skiatest::Reporter* reporter) {
967818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
968818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
969818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
970818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction);
971818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
972818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
973818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
974818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine47x(skiatest::Reporter* reporter) {
975818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
976818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
977818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
978818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
979818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction);
980818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
981818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
982818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
983818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine48(skiatest::Reporter* reporter) {
984818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
985818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
986818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 6, 12, 12, SkPath::kCW_Direction);
987818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction);
988818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
989818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
990818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
991818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine48x(skiatest::Reporter* reporter) {
992818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
993818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
994818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
995818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 6, 12, 12, SkPath::kCW_Direction);
996818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction);
997818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
998818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
999818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1000818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine49(skiatest::Reporter* reporter) {
1001818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1002818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1003818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
1004818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 9, 9, SkPath::kCW_Direction);
1005818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1006818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1007818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1008818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine49x(skiatest::Reporter* reporter) {
1009818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1010818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1011818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1012818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
1013818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 9, 9, SkPath::kCW_Direction);
1014818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1015818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1016818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1017818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine50(skiatest::Reporter* reporter) {
1018818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1019818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 30, 30, 30, SkPath::kCW_Direction);
1020818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 20, 36, 30, SkPath::kCW_Direction);
1021818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1022818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1023818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1024818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine50x(skiatest::Reporter* reporter) {
1025818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1026818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1027818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 30, 30, 30, SkPath::kCW_Direction);
1028818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 20, 36, 30, SkPath::kCW_Direction);
1029818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1030818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1031818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1032818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine51(skiatest::Reporter* reporter) {
1033818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1034818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1035818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
1036818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction);
1037818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1038818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1039818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1040818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine51x(skiatest::Reporter* reporter) {
1041818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1042818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1043818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1044818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
1045818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction);
1046818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1047818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1048818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1049818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine52(skiatest::Reporter* reporter) {
1050818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1051818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 30, 20, 20, SkPath::kCW_Direction);
1052818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 20, 18, 30, SkPath::kCW_Direction);
1053818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(32, 0, 36, 41, SkPath::kCW_Direction);
1054818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1055818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1056818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1057818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine52x(skiatest::Reporter* reporter) {
1058818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1059818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1060818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 30, 20, 20, SkPath::kCW_Direction);
1061818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 20, 18, 30, SkPath::kCW_Direction);
1062818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(32, 0, 36, 41, SkPath::kCW_Direction);
1063818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1064818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1065818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1066818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine53(skiatest::Reporter* reporter) {
1067818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1068818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 30, 30, 30, SkPath::kCW_Direction);
1069818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 20, 24, 30, SkPath::kCW_Direction);
1070818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 32, 21, 36, SkPath::kCCW_Direction);
1071818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1072818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1073818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1074818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine53x(skiatest::Reporter* reporter) {
1075818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1076818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1077818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 30, 30, 30, SkPath::kCW_Direction);
1078818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 20, 24, 30, SkPath::kCW_Direction);
1079818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 32, 21, 36, SkPath::kCCW_Direction);
1080818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1081818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1082818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1083818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine54(skiatest::Reporter* reporter) {
1084818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1085818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1086818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 0, 18, 18, SkPath::kCW_Direction);
1087818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(8, 4, 17, 17, SkPath::kCCW_Direction);
1088818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1089818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1090818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1091818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine54x(skiatest::Reporter* reporter) {
1092818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1093818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1094818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1095818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 0, 18, 18, SkPath::kCW_Direction);
1096818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(8, 4, 17, 17, SkPath::kCCW_Direction);
1097818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1098818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1099818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1100818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine55(skiatest::Reporter* reporter) {
1101818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1102818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1103818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 6, 18, 18, SkPath::kCW_Direction);
1104818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 4, 13, 13, SkPath::kCCW_Direction);
1105818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1106818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1107818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1108818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine55x(skiatest::Reporter* reporter) {
1109818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1110818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1111818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1112818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 6, 18, 18, SkPath::kCW_Direction);
1113818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 4, 13, 13, SkPath::kCCW_Direction);
1114818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1115818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1116818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1117818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine56(skiatest::Reporter* reporter) {
1118818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1119818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 20, 20, 20, SkPath::kCW_Direction);
1120818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 20, 30, 30, SkPath::kCW_Direction);
1121818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
1122818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1123818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1124818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1125818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine56x(skiatest::Reporter* reporter) {
1126818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1127818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1128818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 20, 20, 20, SkPath::kCW_Direction);
1129818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 20, 30, 30, SkPath::kCW_Direction);
1130818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
1131818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1132818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1133818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1134818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine57(skiatest::Reporter* reporter) {
1135818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1136818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(20, 0, 40, 40, SkPath::kCW_Direction);
1137818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(20, 0, 30, 40, SkPath::kCW_Direction);
1138818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
1139818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1140818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1141818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1142818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine57x(skiatest::Reporter* reporter) {
1143818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1144818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1145818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(20, 0, 40, 40, SkPath::kCW_Direction);
1146818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(20, 0, 30, 40, SkPath::kCW_Direction);
1147818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
1148818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1149818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1150818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1151818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine58(skiatest::Reporter* reporter) {
1152818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1153818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1154818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCCW_Direction);
1155818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 9, 9, SkPath::kCCW_Direction);
1156818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1157818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1158818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1159818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine58x(skiatest::Reporter* reporter) {
1160818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1161818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1162818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1163818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCCW_Direction);
1164818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 9, 9, SkPath::kCCW_Direction);
1165818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1166818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1167818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1168818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine59(skiatest::Reporter* reporter) {
1169818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1170818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1171818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 6, 18, 18, SkPath::kCCW_Direction);
1172818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 4, 13, 13, SkPath::kCCW_Direction);
1173818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1174818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1175818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1176818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine59x(skiatest::Reporter* reporter) {
1177818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1178818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1179818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1180818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 6, 18, 18, SkPath::kCCW_Direction);
1181818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 4, 13, 13, SkPath::kCCW_Direction);
1182818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1183818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1184818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1185818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine60(skiatest::Reporter* reporter) {
1186818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1187818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1188818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 12, 18, 18, SkPath::kCCW_Direction);
1189818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction);
1190818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1191818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1192818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1193818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine60x(skiatest::Reporter* reporter) {
1194818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1195818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1196818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1197818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 12, 18, 18, SkPath::kCCW_Direction);
1198818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction);
1199818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1200818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1201818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1202818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine61(skiatest::Reporter* reporter) {
1203818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1204818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1205818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 24, 24, SkPath::kCCW_Direction);
1206818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
1207818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1208818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1209818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1210818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine61x(skiatest::Reporter* reporter) {
1211818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1212818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1213818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1214818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 24, 24, SkPath::kCCW_Direction);
1215818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
1216818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1217818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1218818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1219818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine62(skiatest::Reporter* reporter) {
1220818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1221818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1222818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1223818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
1224818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction);
1225818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1226818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1227818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1228818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine62x(skiatest::Reporter* reporter) {
1229818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1230818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1231818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1232818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1233818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
1234818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction);
1235818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1236818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1237818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1238818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine63(skiatest::Reporter* reporter) {
1239818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1240818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1241818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 10, 20, 20, SkPath::kCW_Direction);
1242818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 6, 12, 12, SkPath::kCCW_Direction);
1243818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction);
1244818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1245818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1246818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1247818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine63x(skiatest::Reporter* reporter) {
1248818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1249818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1250818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1251818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 10, 20, 20, SkPath::kCW_Direction);
1252818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 6, 12, 12, SkPath::kCCW_Direction);
1253818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction);
1254818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1255818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1256818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1257818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine64(skiatest::Reporter* reporter) {
1258818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1259818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1260818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
1261818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 6, 30, 30, SkPath::kCW_Direction);
1262818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1263818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1264818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1265818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine64x(skiatest::Reporter* reporter) {
1266818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1267818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1268818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1269818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
1270818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 6, 30, 30, SkPath::kCW_Direction);
1271818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1272818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1273818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1274818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine65(skiatest::Reporter* reporter) {
1275818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1276818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1277818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 0, 30, 30, SkPath::kCW_Direction);
1278818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 0, 36, 36, SkPath::kCW_Direction);
1279818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(32, 6, 36, 41, SkPath::kCCW_Direction);
1280818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1281818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1282818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1283818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine65x(skiatest::Reporter* reporter) {
1284818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1285818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1286818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1287818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 0, 30, 30, SkPath::kCW_Direction);
1288818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 0, 36, 36, SkPath::kCW_Direction);
1289818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(32, 6, 36, 41, SkPath::kCCW_Direction);
1290818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1291818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1292818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1293818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine66(skiatest::Reporter* reporter) {
1294818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1295818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1296818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 30, 20, 20, SkPath::kCW_Direction);
1297818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 20, 24, 30, SkPath::kCW_Direction);
1298818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1299818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1300818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1301818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine66x(skiatest::Reporter* reporter) {
1302818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1303818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1304818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1305818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 30, 20, 20, SkPath::kCW_Direction);
1306818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 20, 24, 30, SkPath::kCW_Direction);
1307818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1308818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1309818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1310818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine67(skiatest::Reporter* reporter) {
1311818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1312818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1313818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
1314818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 20, 36, 30, SkPath::kCW_Direction);
1315818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(32, 0, 36, 41, SkPath::kCW_Direction);
1316818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1317818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1318818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1319818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine67x(skiatest::Reporter* reporter) {
1320818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1321818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1322818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1323818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
1324818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 20, 36, 30, SkPath::kCW_Direction);
1325818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(32, 0, 36, 41, SkPath::kCW_Direction);
1326818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1327818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1328818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1329818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine68a(skiatest::Reporter* reporter) {
1330818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1331818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1332818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCW_Direction);
1333818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(1, 2, 4, 2, SkPath::kCW_Direction);
1334818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1335818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1336818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1337818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine68ax(skiatest::Reporter* reporter) {
1338818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1339818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1340818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1341818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCW_Direction);
1342818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(1, 2, 4, 2, SkPath::kCW_Direction);
1343818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1344818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1345818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1346818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine68b(skiatest::Reporter* reporter) {
1347818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1348818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1349818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1350818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1351818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1352818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1353818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1354818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine68bx(skiatest::Reporter* reporter) {
1355818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1356818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1357818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1358818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1359818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1360818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1361818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1362818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1363818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine68c(skiatest::Reporter* reporter) {
1364818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1365818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCCW_Direction);
1366818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCW_Direction);
1367818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(1, 2, 4, 2, SkPath::kCW_Direction);
1368818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1369818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1370818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1371818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine68cx(skiatest::Reporter* reporter) {
1372818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1373818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1374818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCCW_Direction);
1375818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCW_Direction);
1376818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(1, 2, 4, 2, SkPath::kCW_Direction);
1377818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1378818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1379818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1380818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine68d(skiatest::Reporter* reporter) {
1381818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1382818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCCW_Direction);
1383818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1384818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(1, 2, 4, 2, SkPath::kCW_Direction);
1385818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1386818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1387818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1388818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine68dx(skiatest::Reporter* reporter) {
1389818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1390818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1391818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCCW_Direction);
1392818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1393818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(1, 2, 4, 2, SkPath::kCW_Direction);
1394818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1395818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1396818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1397818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine68e(skiatest::Reporter* reporter) {
1398818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1399818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1400818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1401818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1402818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1403818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1404818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1405818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1406818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine68ex(skiatest::Reporter* reporter) {
1407818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1408818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1409818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1410818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1411818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1412818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1413818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1414818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1415818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1416818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine68f(skiatest::Reporter* reporter) {
1417818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1418818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1419818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1420818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1421818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1422818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1423818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1424818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1425818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine68fx(skiatest::Reporter* reporter) {
1426818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1427818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1428818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1429818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1430818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1431818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1432818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1433818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1434818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1435818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine68g(skiatest::Reporter* reporter) {
1436818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1437818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1438818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1439818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1440818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1441818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1442818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1443818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1444818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1445818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine68gx(skiatest::Reporter* reporter) {
1446818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1447818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1448818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1449818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1450818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1451818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1452818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1453818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1454818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1455818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1456818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine68h(skiatest::Reporter* reporter) {
1457818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1458818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1459818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1460818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1461818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1462818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1463818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1464818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1465818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1466818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine68hx(skiatest::Reporter* reporter) {
1467818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1468818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1469818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 8, 8, SkPath::kCW_Direction);
1470818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1471818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1472818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 6, 6, SkPath::kCCW_Direction);
1473818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(1, 2, 2, 2, SkPath::kCW_Direction);
1474818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1475818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1476818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1477818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine69(skiatest::Reporter* reporter) {
1478818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1479818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 20, 20, 20, SkPath::kCW_Direction);
1480818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 20, 12, 30, SkPath::kCW_Direction);
1481818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 32, 21, 36, SkPath::kCW_Direction);
1482818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1483818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1484818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1485818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine69x(skiatest::Reporter* reporter) {
1486818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1487818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1488818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 20, 20, 20, SkPath::kCW_Direction);
1489818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 20, 12, 30, SkPath::kCW_Direction);
1490818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 32, 21, 36, SkPath::kCW_Direction);
1491818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1492818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1493818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1494818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine70(skiatest::Reporter* reporter) {
1495818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1496818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1497818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 24, 12, 12, SkPath::kCW_Direction);
1498818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 32, 21, 36, SkPath::kCCW_Direction);
1499818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1500818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1501818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1502818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine70x(skiatest::Reporter* reporter) {
1503818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1504818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1505818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1506818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 24, 12, 12, SkPath::kCW_Direction);
1507818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 32, 21, 36, SkPath::kCCW_Direction);
1508818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1509818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1510818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1511818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine71(skiatest::Reporter* reporter) {
1512818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1513818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1514818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 24, 24, SkPath::kCW_Direction);
1515818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 32, 21, 36, SkPath::kCW_Direction);
1516818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1517818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1518818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1519818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine71x(skiatest::Reporter* reporter) {
1520818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1521818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1522818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 20, 20, SkPath::kCW_Direction);
1523818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 24, 24, SkPath::kCW_Direction);
1524818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 32, 21, 36, SkPath::kCW_Direction);
1525818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1526818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1527818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1528818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine72(skiatest::Reporter* reporter) {
1529818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1530818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1531818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
1532818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 20, 18, 30, SkPath::kCW_Direction);
1533818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1534818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1535818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1536818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine72x(skiatest::Reporter* reporter) {
1537818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1538818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1539818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1540818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 40, 30, 30, SkPath::kCW_Direction);
1541818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(6, 20, 18, 30, SkPath::kCW_Direction);
1542818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1543818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1544818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1545818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine73(skiatest::Reporter* reporter) {
1546818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1547818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1548818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 40, 20, 20, SkPath::kCW_Direction);
1549818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 20, 12, 30, SkPath::kCW_Direction);
1550818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction);
1551818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1552818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1553818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1554818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine73x(skiatest::Reporter* reporter) {
1555818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1556818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1557818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1558818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 40, 20, 20, SkPath::kCW_Direction);
1559818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 20, 12, 30, SkPath::kCW_Direction);
1560818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 9, 9, SkPath::kCCW_Direction);
1561818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1562818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1563818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1564818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine74(skiatest::Reporter* reporter) {
1565818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1566818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(20, 30, 40, 40, SkPath::kCW_Direction);
1567818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction);
1568818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(32, 24, 36, 41, SkPath::kCCW_Direction);
1569818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1570818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1571818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1572818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine74x(skiatest::Reporter* reporter) {
1573818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1574818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1575818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(20, 30, 40, 40, SkPath::kCW_Direction);
1576818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction);
1577818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(32, 24, 36, 41, SkPath::kCCW_Direction);
1578818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1579818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1580818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1581818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine75(skiatest::Reporter* reporter) {
1582818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1583818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1584818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 0, 30, 30, SkPath::kCCW_Direction);
1585818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 0, 30, 30, SkPath::kCCW_Direction);
1586818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
1587818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1588818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1589818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1590818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine75x(skiatest::Reporter* reporter) {
1591818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1592818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1593818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 60, 60, SkPath::kCW_Direction);
1594818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 0, 30, 30, SkPath::kCCW_Direction);
1595818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 0, 30, 30, SkPath::kCCW_Direction);
1596818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
1597818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1598818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1599818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1600818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine76(skiatest::Reporter* reporter) {
1601818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1602818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(36, 0, 66, 60, SkPath::kCW_Direction);
1603818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 20, 40, 30, SkPath::kCW_Direction);
1604818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction);
1605818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(32, 6, 36, 41, SkPath::kCCW_Direction);
1606818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1607818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1608818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1609818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine76x(skiatest::Reporter* reporter) {
1610818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1611818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1612818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(36, 0, 66, 60, SkPath::kCW_Direction);
1613818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 20, 40, 30, SkPath::kCW_Direction);
1614818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction);
1615818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(32, 6, 36, 41, SkPath::kCCW_Direction);
1616818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1617818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1618818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1619818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine77(skiatest::Reporter* reporter) {
1620818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1621818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(20, 0, 40, 40, SkPath::kCW_Direction);
1622818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 6, 36, 36, SkPath::kCCW_Direction);
1623818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 32, 33, 36, SkPath::kCCW_Direction);
1624818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1625818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1626818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1627818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine77x(skiatest::Reporter* reporter) {
1628818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1629818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1630818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(20, 0, 40, 40, SkPath::kCW_Direction);
1631818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 6, 36, 36, SkPath::kCCW_Direction);
1632818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 32, 33, 36, SkPath::kCCW_Direction);
1633818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1634818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1635818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1636818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine78(skiatest::Reporter* reporter) {
1637818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1638818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 30, 60, SkPath::kCW_Direction);
1639818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 20, 30, 30, SkPath::kCCW_Direction);
1640818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 20, 30, 30, SkPath::kCCW_Direction);
1641818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(32, 0, 36, 41, SkPath::kCCW_Direction);
1642818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1643818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1644818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1645818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine78x(skiatest::Reporter* reporter) {
1646818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1647818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1648818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 30, 60, SkPath::kCW_Direction);
1649818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 20, 30, 30, SkPath::kCCW_Direction);
1650818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 20, 30, 30, SkPath::kCCW_Direction);
1651818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(32, 0, 36, 41, SkPath::kCCW_Direction);
1652818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1653818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1654818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1655818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine79(skiatest::Reporter* reporter) {
1656818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1657818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 36, 60, 30, SkPath::kCW_Direction);
1658818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 30, 40, 30, SkPath::kCW_Direction);
1659818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 20, 12, 30, SkPath::kCCW_Direction);
1660818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction);
1661818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1662818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1663818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1664818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine79x(skiatest::Reporter* reporter) {
1665818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1666818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1667818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 36, 60, 30, SkPath::kCW_Direction);
1668818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 30, 40, 30, SkPath::kCW_Direction);
1669818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 20, 12, 30, SkPath::kCCW_Direction);
1670818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction);
1671818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1672818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1673818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1674818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine81(skiatest::Reporter* reporter) {
1675818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1676818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(-1, -1, 3, 3, SkPath::kCW_Direction);
1677818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 1, 1, SkPath::kCW_Direction);
1678818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 1, 1, SkPath::kCW_Direction);
1679818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 1, 1, SkPath::kCW_Direction);
1680818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(1, 1, 2, 2, SkPath::kCCW_Direction);
1681818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1682818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1683818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1684818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testDegenerate1(skiatest::Reporter* reporter) {
1685818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1686818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1687818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
1688818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
1689818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1690818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1691818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
1692818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
1693818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1694818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1695818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1696818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1697818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testDegenerate1x(skiatest::Reporter* reporter) {
1698818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1699818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1700818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1701818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
1702818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
1703818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1704818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1705818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
1706818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
1707818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1708818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1709818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1710818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1711818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testDegenerate2(skiatest::Reporter* reporter) {
1712818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1713818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1714818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
1715818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
1716818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1717818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1718818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
1719818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
1720818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1721818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1722818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1723818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1724818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testDegenerate2x(skiatest::Reporter* reporter) {
1725818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1726818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1727818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1728818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
1729818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
1730818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1731818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1732818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
1733818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
1734818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1735818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1736818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1737818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1738818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testDegenerate3(skiatest::Reporter* reporter) {
1739818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1740818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1741818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
1742818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
1743818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1744818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1745818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
1746818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
1747818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1748818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1749818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1750818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1751818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testDegenerate3x(skiatest::Reporter* reporter) {
1752818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1753818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1754818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1755818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
1756818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
1757818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1758818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1759818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
1760818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
1761818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1762818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1763818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1764818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1765818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testDegenerate4(skiatest::Reporter* reporter) {
1766818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1767818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1768818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
1769818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 3);
1770818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1771818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
1772818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
1773818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
1774818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1775818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1776818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1777818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1778818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testDegenerate4x(skiatest::Reporter* reporter) {
1779818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1780818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1781818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1782818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
1783818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 3);
1784818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1785818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
1786818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
1787818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
1788818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1789818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1790818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1791818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1792818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testNondegenerate1(skiatest::Reporter* reporter) {
1793818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1794818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1795818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
1796818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 3);
1797818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1798818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 1);
1799818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
1800818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
1801818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1802818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1803818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1804818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1805818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testNondegenerate1x(skiatest::Reporter* reporter) {
1806818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1807818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1808818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1809818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
1810818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 3);
1811818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1812818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 1);
1813818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
1814818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
1815818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1816818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1817818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1818818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1819818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testNondegenerate2(skiatest::Reporter* reporter) {
1820818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1821818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
1822818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
1823818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
1824818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1825818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 2);
1826818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 3);
1827818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
1828818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1829818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1830818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1831818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1832818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testNondegenerate2x(skiatest::Reporter* reporter) {
1833818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1834818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1835818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
1836818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
1837818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
1838818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1839818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 2);
1840818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 3);
1841818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
1842818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1843818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1844818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1845818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1846818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testNondegenerate3(skiatest::Reporter* reporter) {
1847818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1848818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1849818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
1850818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
1851818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1852818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 1);
1853818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
1854818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
1855818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1856818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1857818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1858818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1859818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testNondegenerate3x(skiatest::Reporter* reporter) {
1860818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1861818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1862818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1863818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
1864818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
1865818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1866818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 1);
1867818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
1868818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
1869818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1870818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1871818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1872818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1873818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testNondegenerate4(skiatest::Reporter* reporter) {
1874818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1875818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
1876818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
1877818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
1878818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1879818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 2);
1880818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 3);
1881818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 3);
1882818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1883818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1884818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1885818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1886818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testNondegenerate4x(skiatest::Reporter* reporter) {
1887818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1888818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1889818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
1890818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
1891818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
1892818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1893818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 2);
1894818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 3);
1895818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 3);
1896818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1897818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1898818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1899818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1900818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadralateral5(skiatest::Reporter* reporter) {
1901818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1902818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1903818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
1904818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
1905818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
1906818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1907818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1908818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
1909818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 2);
1910818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 3);
1911818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1912818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1913818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1914818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1915818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadralateral5x(skiatest::Reporter* reporter) {
1916818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1917818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1918818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1919818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
1920818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
1921818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
1922818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1923818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1924818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
1925818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 2);
1926818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 3);
1927818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1928818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1929818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1930818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1931818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadralateral6(skiatest::Reporter* reporter) {
1932818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1933818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1934818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
1935818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
1936818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
1937818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1938818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
1939818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
1940818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
1941818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
1942818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1943818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1944818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1945818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1946818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadralateral6x(skiatest::Reporter* reporter) {
1947818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1948818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1949818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1950818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
1951818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
1952818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
1953818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1954818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
1955818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
1956818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
1957818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
1958818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1959818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1960818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1961818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1962818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testFauxQuadralateral6(skiatest::Reporter* reporter) {
1963818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1964818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1965818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
1966818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
1967818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1968818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
1969818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
1970818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1 + 1.0f/3, 2.0f/3);
1971818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1972818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1 + 1.0f/3, 2.0f/3);
1973818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
1974818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
1975818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1976818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1977818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1978818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1979818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testFauxQuadralateral6x(skiatest::Reporter* reporter) {
1980818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1981818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
1982818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
1983818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
1984818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
1985818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1986818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
1987818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
1988818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1 + 1.0f/3, 2.0f/3);
1989818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1990818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1 + 1.0f/3, 2.0f/3);
1991818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
1992818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
1993818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
1994818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
1995818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
1996818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
1997818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testFauxQuadralateral6a(skiatest::Reporter* reporter) {
1998818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
1999818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2000818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
2001818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 3);
2002818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2003818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(3, 0);
2004818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 0);
2005818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4, 2);
2006818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2007818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(4, 2);
2008818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 6);
2009818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 6);
2010818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2011818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2012818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2013818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2014818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testFauxQuadralateral6ax(skiatest::Reporter* reporter) {
2015818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2016818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2017818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2018818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
2019818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 3);
2020818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2021818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(3, 0);
2022818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 0);
2023818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4, 2);
2024818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2025818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(4, 2);
2026818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 6);
2027818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 6);
2028818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2029818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2030818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2031818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2032818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testFauxQuadralateral6b(skiatest::Reporter* reporter) {
2033818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2034818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2035818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
2036818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 3);
2037818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2038818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(3, 0);
2039818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 0);
2040818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4, 2);
2041818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2042818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(4, 2);
2043818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 6);
2044818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 6);
2045818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2046818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2047818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2048818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2049818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testFauxQuadralateral6bx(skiatest::Reporter* reporter) {
2050818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2051818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2052818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2053818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
2054818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 3);
2055818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2056818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(3, 0);
2057818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 0);
2058818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4, 2);
2059818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2060818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(4, 2);
2061818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 6);
2062818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 6);
2063818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2064818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2065818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2066818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2067818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testFauxQuadralateral6c(skiatest::Reporter* reporter) {
2068818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2069818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2070818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 3);
2071818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
2072818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2073818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(3, 0);
2074818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 0);
2075818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4, 2);
2076818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2077818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(4, 2);
2078818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 6);
2079818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 6);
2080818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2081818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2082818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2083818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2084818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testFauxQuadralateral6cx(skiatest::Reporter* reporter) {
2085818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2086818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2087818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2088818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 3);
2089818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
2090818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2091818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(3, 0);
2092818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 0);
2093818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4, 2);
2094818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2095818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(4, 2);
2096818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 6);
2097818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 6);
2098818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2099818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2100818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2101818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2102818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testFauxQuadralateral6d(skiatest::Reporter* reporter) {
2103818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2104818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2105818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 3);
2106818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
2107818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2108818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(3, 0);
2109818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 0);
2110818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4, 2);
2111818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2112818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(4, 2);
2113818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 6);
2114818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 6);
2115818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2116818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2117818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2118818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2119818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testFauxQuadralateral6dx(skiatest::Reporter* reporter) {
2120818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2121818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2122818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2123818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 3);
2124818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
2125818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2126818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(3, 0);
2127818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 0);
2128818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(4, 2);
2129818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2130818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(4, 2);
2131818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 6);
2132818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 6);
2133818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2134818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2135818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2136818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2137818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadralateral6a(skiatest::Reporter* reporter) {
2138818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2139818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2140818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2141818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
2142818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 3);
2143818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2144818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(3, 0);
2145818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 0);
2146818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 6);
2147818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 6);
2148818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2149818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2150818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2151818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2152818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadralateral6ax(skiatest::Reporter* reporter) {
2153818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2154818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2155818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2156818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2157818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
2158818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 3);
2159818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2160818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(3, 0);
2161818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 0);
2162818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 6);
2163818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(6, 6);
2164818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2165818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2166818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2167818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2168818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadralateral7(skiatest::Reporter* reporter) {
2169818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2170818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2171818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2172818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
2173818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
2174818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2175818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
2176818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
2177818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
2178818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 3);
2179818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2180818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2181818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2182818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2183818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadralateral7x(skiatest::Reporter* reporter) {
2184818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2185818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2186818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2187818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2188818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
2189818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
2190818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2191818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
2192818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
2193818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
2194818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 3);
2195818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2196818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2197818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2198818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2199818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadralateral8(skiatest::Reporter* reporter) {
2200818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2201818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2202818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 1);
2203818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 3);
2204818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 3);
2205818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2206818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2, 1);
2207818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
2208818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 2);
2209818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 3);
2210818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2211818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2212818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2213818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2214818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadralateral8x(skiatest::Reporter* reporter) {
2215818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2216818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2217818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2218818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 1);
2219818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 3);
2220818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 3);
2221818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2222818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2, 1);
2223818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
2224818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 2);
2225818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 3);
2226818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2227818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2228818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2229818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2230818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadralateral9(skiatest::Reporter* reporter) {
2231818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2232818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2233818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
2234818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
2235818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
2236818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2237818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 1);
2238818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
2239818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 3);
2240818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 3);
2241818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2242818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2243818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2244818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2245818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadralateral9x(skiatest::Reporter* reporter) {
2246818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2247818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2248818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2249818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
2250818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
2251818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
2252818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2253818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 1);
2254818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
2255818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 3);
2256818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 3);
2257818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2258818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2259818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2260818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2261818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine1a(skiatest::Reporter* reporter) {
2262818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2263818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kWinding_FillType);
2264818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
2265818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 0, 13, 13, SkPath::kCCW_Direction);
2266818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2267818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2268818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2269818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine1ax(skiatest::Reporter* reporter) {
2270818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2271818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2272818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 12, 12, SkPath::kCW_Direction);
2273818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 0, 13, 13, SkPath::kCCW_Direction);
2274818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2275818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2276818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2277818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine2ax(skiatest::Reporter* reporter) {
2278818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2279818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2280818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 20, 20, 20, SkPath::kCW_Direction);
2281818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 20, 12, 30, SkPath::kCW_Direction);
2282818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 21, 21, SkPath::kCCW_Direction);
2283818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2284818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2285818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2286818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine3aax(skiatest::Reporter* reporter) {
2287818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2288818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2289818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 30, 30, 30, SkPath::kCW_Direction);
2290818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(18, 20, 30, 30, SkPath::kCCW_Direction);
2291818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction);
2292818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2293818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2294818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2295818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine4ax(skiatest::Reporter* reporter) {
2296818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2297818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2298818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 30, 30, 30, SkPath::kCW_Direction);
2299818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction);
2300818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 32, 9, 36, SkPath::kCCW_Direction);
2301818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2302818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2303818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2304818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic1(skiatest::Reporter* reporter) {
2305818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2306818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2307818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 0, 0);
2308818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
2309818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2310818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2311818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2312818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 0, 0);
2313818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2314818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2315818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2316818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2317818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic1x(skiatest::Reporter* reporter) {
2318818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2319818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2320818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2321818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 0, 0);
2322818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
2323818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2324818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2325818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2326818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 0, 0);
2327818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2328818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2329818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2330818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2331818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic2(skiatest::Reporter* reporter) {
2332818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2333818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2334818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 0, 0);
2335818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
2336818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2337818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2338818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2339818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 1);
2340818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2341818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2342818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2343818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2344818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic2x(skiatest::Reporter* reporter) {
2345818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2346818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2347818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2348818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 0, 0);
2349818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
2350818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2351818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2352818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2353818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 1);
2354818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2355818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2356818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2357818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2358818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic3(skiatest::Reporter* reporter) {
2359818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2360818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2361818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 1, 0);
2362818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
2363818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2364818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2365818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2366818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 1);
2367818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2368818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2369818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2370818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2371818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic3x(skiatest::Reporter* reporter) {
2372818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2373818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2374818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2375818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 1, 0);
2376818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
2377818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2378818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2379818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2380818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 1);
2381818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2382818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2383818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2384818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2385818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic4(skiatest::Reporter* reporter) {
2386818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2387818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2388818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 1, 0);
2389818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
2390818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2391818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2392818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2393818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 2);
2394818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2395818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2396818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2397818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2398818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic4x(skiatest::Reporter* reporter) {
2399818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2400818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2401818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2402818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 1, 0);
2403818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
2404818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2405818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2406818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2407818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 2);
2408818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2409818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2410818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2411818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2412818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic5(skiatest::Reporter* reporter) {
2413818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2414818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2415818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 0, 0);
2416818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
2417818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2418818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2419818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
2420818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 0, 2);
2421818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2422818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2423818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2424818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2425818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic6(skiatest::Reporter* reporter) {
2426818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2427818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2428818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 1, 0);
2429818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
2430818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2431818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2432818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2433818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 0, 0, 1);
2434818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2435818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2436818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2437818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2438818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic7(skiatest::Reporter* reporter) {
2439818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2440818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2441818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 1, 0);
2442818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 1);
2443818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2444818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2445818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2446818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 0, 1, 2);
2447818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2448818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2449818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2450818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2451818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic8(skiatest::Reporter* reporter) {
2452818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2453818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2454818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 1, 0);
2455818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
2456818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2457818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2458818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
2459818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 1, 2);
2460818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2461818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2462818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2463818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2464818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic9(skiatest::Reporter* reporter) {
2465818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2466818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2467818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 1, 0);
2468818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 1);
2469818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2470818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2471818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
2472818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 2, 3, 2);
2473818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2474818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2475818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2476818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2477818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic14(skiatest::Reporter* reporter) {
2478818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2479818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2480818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 1, 0);
2481818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 2);
2482818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2483818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2484818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
2485818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 2, 3, 3);
2486818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2487818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2488818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2489818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2490818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic15(skiatest::Reporter* reporter) {
2491818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2492818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2493818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 1, 0);
2494818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 3);
2495818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2496818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
2497818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
2498818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 1, 0, 3);
2499818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2500818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2501818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2502818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2503818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic17x(skiatest::Reporter* reporter) {
2504818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2505818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2506818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2507818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 3, 1);
2508818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
2509818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2510818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2511818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
2512818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 1, 0, 2);
2513818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2514818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2515818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2516818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2517818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic18(skiatest::Reporter* reporter) {
2518818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2519818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2520818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 1);
2521818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
2522818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2523818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2524818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2525818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 1, 1);
2526818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2527818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2528818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2529818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2530818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic19(skiatest::Reporter* reporter) {
2531818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2532818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2533818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 1);
2534818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
2535818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2536818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2537818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2538818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 0, 0, 1);
2539818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2540818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2541818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2542818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2543818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic20(skiatest::Reporter* reporter) {
2544818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2545818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2546818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 1);
2547818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
2548818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2549818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2550818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2551818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 1);
2552818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2553818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2554818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2555818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2556818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic21(skiatest::Reporter* reporter) {
2557818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2558818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2559818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 1);
2560818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
2561818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2562818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2563818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2564818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 2);
2565818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2566818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2567818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2568818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2569818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic22(skiatest::Reporter* reporter) {
2570818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2571818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2572818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 1);
2573818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
2574818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2575818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2576818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2577818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 2, 1);
2578818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2579818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2580818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2581818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2582818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic23(skiatest::Reporter* reporter) {
2583818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2584818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2585818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 1);
2586818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
2587818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2588818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2589818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2590818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 2, 1, 2);
2591818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2592818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2593818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2594818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2595818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic24(skiatest::Reporter* reporter) {
2596818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2597818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2598818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 1);
2599818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
2600818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2601818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2602818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
2603818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 0, 0, 1);
2604818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2605818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2606818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2607818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2608818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic25(skiatest::Reporter* reporter) {
2609818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2610818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2611818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 1, 1);
2612818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
2613818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2614818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2615818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2616818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 1, 0, 2);
2617818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2618818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2619818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2620818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2621818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic26(skiatest::Reporter* reporter) {
2622818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2623818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2624818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 1, 1);
2625818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
2626818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2627818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2628818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2629818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 1);
2630818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2631818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2632818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2633818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2634818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic27(skiatest::Reporter* reporter) {
2635818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2636818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2637818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 1, 1);
2638818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
2639818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2640818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2641818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2642818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 1, 0, 2);
2643818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2644818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2645818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2646818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2647818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic28(skiatest::Reporter* reporter) {
2648818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2649818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2650818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 1);
2651818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
2652818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2653818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2654818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
2655818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 2, 0, 3);
2656818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2657818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2658818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2659818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2660818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic29(skiatest::Reporter* reporter) {
2661818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2662818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2663818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 2, 1);
2664818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
2665818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2666818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2667818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2668818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 1);
2669818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2670818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2671818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2672818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2673818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic30(skiatest::Reporter* reporter) {
2674818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2675818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2676818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 1, 2);
2677818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
2678818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2679818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2680818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
2681818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 1, 2);
2682818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2683818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2684818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2685818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2686818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic31(skiatest::Reporter* reporter) {
2687818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2688818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2689818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 1, 2);
2690818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
2691818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2692818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2693818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
2694818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 1, 3);
2695818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2696818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2697818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2698818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2699818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic32(skiatest::Reporter* reporter) {
2700818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2701818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2702818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 2, 3);
2703818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 3);
2704818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2705818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2706818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2707818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 1, 0, 2);
2708818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2709818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2710818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2711818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2712818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic33(skiatest::Reporter* reporter) {
2713818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2714818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2715818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 0, 0, 1);
2716818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
2717818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2718818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2719818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
2720818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 1, 2, 2);
2721818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2722818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2723818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2724818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2725818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic34(skiatest::Reporter* reporter) {
2726818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2727818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2728818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 0, 0, 1);
2729818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
2730818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2731818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
2732818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
2733818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 1, 1, 2);
2734818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2735818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2736818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2737818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2738818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic35(skiatest::Reporter* reporter) {
2739818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2740818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2741818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 1, 1);
2742818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 3);
2743818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2744818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2, 0);
2745818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
2746818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 1, 1);
2747818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2748818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2749818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2750818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2751818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic36(skiatest::Reporter* reporter) {
2752818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2753818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2754818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 1, 2, 3);
2755818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 3);
2756818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2757818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(3, 1);
2758818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
2759818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 2, 1, 3);
2760818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2761818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2762818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2763818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2764818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic37(skiatest::Reporter* reporter) {
2765818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2766818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2767818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 2, 1, 2);
2768818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
2769818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2770818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2771818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 1);
2772818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 2, 1, 2);
2773818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2774818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2775818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2776818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2777818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic38(skiatest::Reporter* reporter) {
2778818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2779818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
2780818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 1, 1);
2781818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
2782818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2783818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
2784818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
2785818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 2, 1, 3);
2786818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2787818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2788818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2789818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2790818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic51(skiatest::Reporter* reporter) {
2791818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2792818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(369.863983f, 145.645813f);
2793818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(382.380371f, 121.254936f, 406.236359f, 121.254936f);
2794818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(369.863983f, 145.645813f);
2795818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2796818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(369.970581f, 137.94342f);
2797818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(383.98465f, 121.254936f, 406.235992f, 121.254936f);
2798818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(369.970581f, 137.94342f);
2799818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2800818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2801818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2802818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2803818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic53(skiatest::Reporter* reporter) {
2804818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2805818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(303.12088f, 141.299606f);
2806818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(330.463562f, 217.659027f);
2807818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(303.12088f, 141.299606f);
2808818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2809818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(371.919067f, 205.854996f);
2810818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(326.236786f, 205.854996f);
2811818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(329.104431f, 231.663818f, 351.512085f, 231.663818f);
2812818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(371.919067f, 205.854996f);
2813818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2814818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2815818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2816818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic55(skiatest::Reporter* reporter) {
2817818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2818818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.moveTo(303.12088f, 141.299606f);
2819818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.lineTo(330.463562f, 217.659027f);
2820818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.lineTo(358.606506f, 141.299606f);
2821818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.lineTo(303.12088f, 141.299606f);
2822818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.close();
2823818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.moveTo(326.236786f, 205.854996f);
2824818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.quadTo(329.104431f, 231.663818f, 351.512085f, 231.663818f);
2825818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.lineTo(326.236786f, 205.854996f);
2826818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.close();
2827818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2828818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2829818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2830818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic56(skiatest::Reporter* reporter) {
2831818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2832818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.moveTo(366.608826f, 151.196014f);
2833818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.quadTo(378.803101f, 136.674606f, 398.164948f, 136.674606f);
2834818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.lineTo(354.009216f, 208.816208f);
2835818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.lineTo(393.291473f, 102.232819f);
2836818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.lineTo(359.978058f, 136.581512f);
2837818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.quadTo(378.315979f, 136.581512f, 388.322723f, 149.613556f);
2838818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.lineTo(364.390686f, 157.898193f);
2839818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.quadTo(375.281769f, 136.674606f, 396.039917f, 136.674606f);
2840818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.lineTo(350, 120);
2841818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.lineTo(366.608826f, 151.196014f);
2842818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.close();
2843818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2844818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2845818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2846818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine80(skiatest::Reporter* reporter) {
2847818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2848818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.moveTo(4, 0);
2849818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.lineTo(3, 7);
2850818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.lineTo(7, 5);
2851818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.lineTo(2, 2);
2852818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.close();
2853818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.moveTo(0, 6);
2854818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.lineTo(6, 12);
2855818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.lineTo(8, 3);
2856818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.close();
2857818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2858818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2859818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2860818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic58(skiatest::Reporter* reporter) {
2861818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
286207e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.moveTo(283.714233f, 240);
286307e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(283.714233f, 141.299606f);
286407e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(303.12088f, 141.299606f);
286507e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(330.463562f, 217.659027f);
286607e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(358.606506f, 141.299606f);
286707e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(362.874634f, 159.705902f);
286807e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(335.665344f, 233.397751f);
286907e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(322.12738f, 233.397751f);
287007e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(295.718353f, 159.505829f);
287107e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(295.718353f, 240);
287207e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(283.714233f, 240);
287307e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.close();
287407e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.moveTo(322.935669f, 231.030273f);
287507e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.quadTo(312.832214f, 220.393295f, 312.832214f, 203.454178f);
287607e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.quadTo(312.832214f, 186.981888f, 321.73526f, 176.444946f);
287707e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.quadTo(330.638306f, 165.90802f, 344.509705f, 165.90802f);
287807e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.quadTo(357.647522f, 165.90802f, 364.81665f, 175.244537f);
287907e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(371.919067f, 205.854996f);
288007e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(326.236786f, 205.854996f);
288107e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.quadTo(329.104431f, 231.663818f, 351.512085f, 231.663818f);
288207e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(322.935669f, 231.030273f);
288307e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.close();
288407e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.moveTo(326.837006f, 195.984955f);
288507e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(358.78125f, 195.984955f);
288607e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.quadTo(358.78125f, 175.778046f, 343.709442f, 175.778046f);
288707e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.quadTo(328.570923f, 175.778046f, 326.837006f, 195.984955f);
288807e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.close();
2889818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2890818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2891818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2892818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic59x(skiatest::Reporter* reporter) {
2893818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2894818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2895818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2896818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 0, 0);
2897818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
2898818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2899818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2900818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
2901818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 1, 1, 2);
2902818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2903818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2904818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2905818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2906818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic59(skiatest::Reporter* reporter) {
2907818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2908818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kWinding_FillType);
2909818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2910818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 0, 0);
2911818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
2912818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2913818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2914818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
2915818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 1, 1, 2);
2916818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2917818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2918818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2919818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2920818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic63(skiatest::Reporter* reporter) {
2921818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2922818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2923818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 0, 0);
2924818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 2);
2925818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2926818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
2927818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
2928818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 1, 2, 2);
2929818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2930818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2931818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2932818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2933818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic64(skiatest::Reporter* reporter) {
2934818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2935818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2936818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 0, 0);
2937818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 3);
2938818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2939818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 2);
2940818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
2941818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 3, 3, 3);
2942818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2943818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2944818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2945818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2946818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic65(skiatest::Reporter* reporter) {
2947818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2948818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2949818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 0, 0);
2950818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 2);
2951818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2952818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2, 1);
2953818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
2954818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 3, 1, 3);
2955818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2956818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2957818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2958818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2959818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic67x(skiatest::Reporter* reporter) {
2960818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2961818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
2962818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2963818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 2, 1);
2964818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
2965818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2966818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2967818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
2968818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 1, 3, 2);
2969818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2970818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2971818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2972818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2973818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic68(skiatest::Reporter* reporter) {
2974818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2975818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2976818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 1);
2977818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
2978818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2979818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2980818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
2981818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 2, 1);
2982818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2983818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2984818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2985818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2986818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic69(skiatest::Reporter* reporter) {
2987818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
2988818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
2989818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 0, 1);
2990818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 2);
2991818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2992818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2, 0);
2993818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
2994818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 2, 2, 3);
2995818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
2996818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
2997818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
2998818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
2999818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic70x(skiatest::Reporter* reporter) {
3000818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3001818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
3002818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3003818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 1);
3004818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
3005818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3006818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3007818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
3008818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 2, 1);
3009818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3010818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3011818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3012818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3013818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic71(skiatest::Reporter* reporter) {
3014818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3015818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3016818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 1, 1);
3017818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 2);
3018818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3019818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3020818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
3021818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 1, 3, 1);
3022818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3023818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3024818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3025818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3026818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic72(skiatest::Reporter* reporter) {
3027818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3028818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3029818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 1, 2);
3030818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
3031818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3032818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3033818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
3034818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 3, 2);
3035818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3036818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3037818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3038818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3039818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic73(skiatest::Reporter* reporter) {
3040818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3041818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3042818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 0, 3);
3043818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 3);
3044818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3045818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3046818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
3047818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 1, 1);
3048818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3049818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3050818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3051818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3052818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic74(skiatest::Reporter* reporter) {
3053818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3054818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3055818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 1, 3);
3056818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 3);
3057818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3058818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3059818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
3060818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 2, 2, 3);
3061818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3062818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3063818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3064818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3065818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic75(skiatest::Reporter* reporter) {
3066818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3067818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3068818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 1, 3);
3069818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 3);
3070818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3071818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3072818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
3073818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 2, 2, 3);
3074818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3075818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3076818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3077818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3078818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic76(skiatest::Reporter* reporter) {
3079818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3080818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3081818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 0, 0);
3082818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 3);
3083818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3084818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
3085818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
3086818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 2, 2, 2);
3087818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3088818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3089818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3090818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3091818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic77(skiatest::Reporter* reporter) {
3092818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3093818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3094818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 1, 1);
3095818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 1);
3096818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3097818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3098818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
3099818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 3, 2);
3100818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3101818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3102818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3103818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3104818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic78(skiatest::Reporter* reporter) {
3105818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3106818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3107818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 1, 2);
3108818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 2);
3109818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3110818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3111818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
3112818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 1, 0, 2);
3113818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3114818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3115818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3116818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3117818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic79(skiatest::Reporter* reporter) {
3118818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3119818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3120818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 1, 2);
3121818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 2);
3122818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3123818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3124818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 0);
3125818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 3, 2);
3126818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3127818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3128818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3129818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3130818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testEight1(skiatest::Reporter* reporter) {
3131818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3132818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3133818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
3134818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
3135818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
3136818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3137818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3138818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3139818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3140818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testEight2(skiatest::Reporter* reporter) {
3141818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3142818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3143818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
3144818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
3145818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
3146818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3147818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3148818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3149818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3150818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testEight3(skiatest::Reporter* reporter) {
3151818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3152818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3153818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
3154818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
3155818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
3156818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3157818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3158818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3159818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3160818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testEight4(skiatest::Reporter* reporter) {
3161818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3162818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3163818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
3164818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
3165818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
3166818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3167818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3168818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3169818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3170818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testEight5(skiatest::Reporter* reporter) {
3171818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3172818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
3173818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
3174818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
3175818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
3176818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3177818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3178818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3179818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3180818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testEight6(skiatest::Reporter* reporter) {
3181818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3182818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
3183818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
3184818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
3185818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
3186818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3187818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3188818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3189818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3190818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testEight7(skiatest::Reporter* reporter) {
3191818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3192818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3193818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
3194818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
3195818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
3196818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3197818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3198818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3199818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3200818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testEight8(skiatest::Reporter* reporter) {
3201818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3202818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3203818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
3204818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
3205818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
3206818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3207818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3208818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3209818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3210818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testEight9(skiatest::Reporter* reporter) {
3211818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3212818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
3213818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
3214818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
3215818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
3216818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3217818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3218818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3219818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3220818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testEight10(skiatest::Reporter* reporter) {
3221818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3222818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
3223818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
3224818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
3225818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 2);
3226818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3227818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3228818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3229818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3230818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic80(skiatest::Reporter* reporter) {
3231818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3232818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3233818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 0, 2, 3);
3234818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 3);
3235818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3236818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
3237818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
3238818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 1, 1);
3239818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3240818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3241818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3242818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3243818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic81(skiatest::Reporter* reporter) {
3244818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3245818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3246818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 0, 1, 1);
3247818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
3248818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3249818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3250818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
3251818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 1, 0, 2);
3252818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3253818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3254818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3255818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3256818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic82(skiatest::Reporter* reporter) {
3257818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3258818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3259818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 0, 1, 1);
3260818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 3);
3261818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3262818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3263818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
3264818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 1, 0, 2);
3265818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3266818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3267818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3268818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3269818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic83(skiatest::Reporter* reporter) {
3270818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3271818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3272818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 0, 2, 0);
3273818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
3274818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3275818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 1);
3276818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 2);
3277818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 2, 1, 3);
3278818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3279818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3280818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3281818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3282818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic84(skiatest::Reporter* reporter) {
3283818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3284818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3285818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 0, 1, 1);
3286818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
3287818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3288818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
3289818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
3290818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 2, 2);
3291818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3292818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3293818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3294818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3295818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic85(skiatest::Reporter* reporter) {
3296818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3297818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3298818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 0, 1, 1);
3299818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
3300818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3301818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
3302818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 0);
3303818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 1, 2);
3304818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3305818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3306818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3307818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3308818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic86(skiatest::Reporter* reporter) {
3309818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3310818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3311818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 1, 1);
3312818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 3);
3313818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3314818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3315818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
3316818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 1, 1, 3);
3317818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3318818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3319818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3320818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3321818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic87(skiatest::Reporter* reporter) {
3322818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3323818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3324818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 1, 0, 2);
3325818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 3);
3326818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3327818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3328818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
3329818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 2, 3, 2);
3330818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3331818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3332818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3333818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3334818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic88(skiatest::Reporter* reporter) {
3335818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3336818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3337818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 1, 0, 2);
3338818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
3339818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3340818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
3341818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
3342818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 2, 2, 2);
3343818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3344818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3345818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3346818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3347818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic89x(skiatest::Reporter* reporter) {
3348818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3349818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
3350818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3351818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 1, 2, 2);
3352818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 3);
3353818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3354818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3355818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
3356818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 1, 3, 3);
3357818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3358818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3359818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3360818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3361818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic90x(skiatest::Reporter* reporter) {
3362818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3363818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
3364818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3365818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 0, 2, 2);
3366818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 3);
3367818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3368818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3369818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
3370818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 2, 2, 3);
3371818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3372818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3373818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3374818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3375818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic91(skiatest::Reporter* reporter) {
3376818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3377818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3378818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 2, 2, 3);
3379818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 3);
3380818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3381818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3382818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1, 1);
3383818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(2, 1, 2, 3);
3384818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3385818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3386818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3387818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3388818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic92x(skiatest::Reporter* reporter) {
3389818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3390818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
3391818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
3392818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 0, 2, 2);
3393818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
3394818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3395818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(2, 0);
3396818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 1);
3397818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(3, 2, 2, 3);
3398818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3399818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3400818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3401818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3402818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine82(skiatest::Reporter* reporter) {
3403818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3404818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(20, 0, 40, 40, SkPath::kCCW_Direction);
3405818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 20, 36, 30, SkPath::kCCW_Direction);
3406818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(24, 32, 33, 36, SkPath::kCCW_Direction);
3407818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3408818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3409818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3410818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine82a(skiatest::Reporter* reporter) {
3411818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3412818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 6, 10, SkPath::kCW_Direction);
3413818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 4, 4, SkPath::kCW_Direction);
3414818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 6, 4, 8, SkPath::kCW_Direction);
3415818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3416818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3417818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3418818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine82b(skiatest::Reporter* reporter) {
3419818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3420818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 6, 10, SkPath::kCW_Direction);
3421818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 4, 4, SkPath::kCW_Direction);
3422818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 6, 4, 8, SkPath::kCCW_Direction);
3423818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3424818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3425818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3426818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine82c(skiatest::Reporter* reporter) {
3427818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3428818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 6, 10, SkPath::kCW_Direction);
3429818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 4, 4, SkPath::kCCW_Direction);
3430818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 6, 4, 8, SkPath::kCW_Direction);
3431818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3432818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3433818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3434818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine82d(skiatest::Reporter* reporter) {
3435818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3436818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 6, 10, SkPath::kCW_Direction);
3437818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 4, 4, SkPath::kCCW_Direction);
3438818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 6, 4, 8, SkPath::kCCW_Direction);
3439818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3440818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3441818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3442818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine82e(skiatest::Reporter* reporter) {
3443818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3444818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 6, 10, SkPath::kCCW_Direction);
3445818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 4, 4, SkPath::kCW_Direction);
3446818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 6, 4, 8, SkPath::kCW_Direction);
3447818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3448818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3449818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3450818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine82f(skiatest::Reporter* reporter) {
3451818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3452818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 6, 10, SkPath::kCCW_Direction);
3453818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 4, 4, SkPath::kCW_Direction);
3454818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 6, 4, 8, SkPath::kCCW_Direction);
3455818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3456818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3457818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3458818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine82g(skiatest::Reporter* reporter) {
3459818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3460818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 6, 10, SkPath::kCCW_Direction);
3461818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 4, 4, SkPath::kCCW_Direction);
3462818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 6, 4, 8, SkPath::kCW_Direction);
3463818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3464818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3465818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3466818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine82h(skiatest::Reporter* reporter) {
3467818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3468818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 0, 6, 10, SkPath::kCCW_Direction);
3469818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 2, 4, 4, SkPath::kCCW_Direction);
3470818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(2, 6, 4, 8, SkPath::kCCW_Direction);
3471818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3472818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3473818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3474818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine83(skiatest::Reporter* reporter) {
3475818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3476818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.addRect(10, 30, 30, 40, SkPath::kCCW_Direction);
3477818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.addRect(0, 12, 12, 18, SkPath::kCCW_Direction);
3478818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.compath.addRect(4, 13, 13, 16, SkPath::kCCW_Direction);
3479818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3480818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3481818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3482818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine84(skiatest::Reporter* reporter) {
3483818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3484818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 60, 30, SkPath::kCCW_Direction);
3485818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 20, 40, 30, SkPath::kCW_Direction);
3486818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 12, 12, SkPath::kCW_Direction);
3487818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCW_Direction);
3488818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3489818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3490818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3491818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine84x(skiatest::Reporter* reporter) {
3492818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3493818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.setFillType(SkPath::kEvenOdd_FillType);
3494818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 60, 30, SkPath::kCCW_Direction);
3495818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(10, 20, 40, 30, SkPath::kCCW_Direction);
3496818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(0, 12, 12, 12, SkPath::kCCW_Direction);
3497818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(4, 12, 13, 13, SkPath::kCCW_Direction);
3498818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3499818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3500818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3501818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testLine85(skiatest::Reporter* reporter) {
3502818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3503818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(36, 0, 66, 60, SkPath::kCCW_Direction);
3504818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(20, 0, 40, 40, SkPath::kCCW_Direction);
3505818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(12, 0, 24, 24, SkPath::kCCW_Direction);
3506818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.addRect(32, 0, 36, 41, SkPath::kCCW_Direction);
3507818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3508818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3509818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3510818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadralateral1(skiatest::Reporter* reporter) {
3511818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3512818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3513818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
3514818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 0);
3515818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(3, 2);
3516818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3517818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3518818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 1);
3519818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 2);
3520818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 3);
3521818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3522818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3523818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3524818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3525818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testCubic1(skiatest::Reporter* reporter) {
3526818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3527818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0, 0);
3528818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.cubicTo(0, 1, 1, 1, 1, 0);
3529818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3530818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
3531818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.cubicTo(0, 0, 0, 1, 1, 1);
3532818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3533818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3534818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3535818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3536818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuadratic93(skiatest::Reporter* reporter) {
3537818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3538818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(3, 0);
3539818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0, 1, 3, 2);
3540818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(0, 3);
3541818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3542818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1, 0);
3543818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(2, 0);
3544818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1, 1, 2, 2);
3545818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3546818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3547818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3548818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3549818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testCubic2(skiatest::Reporter* reporter) {
3550818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3551818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,2);
3552818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.cubicTo(0,3, 2,1, 4,0);
3553818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3554818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(1,2);
3555818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.cubicTo(0,4, 2,0, 3,0);
3556818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3557818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3558818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3559818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3560818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void testQuad1(skiatest::Reporter* reporter) {
3561818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    SkPath path;
3562818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,0);
3563818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(0,0, 0,1);
3564818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.lineTo(1,1);
3565818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3566818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.moveTo(0,0);
3567818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.quadTo(1,1, 0,2);
3568818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    path.close();
3569818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    testSimplify(reporter, path);
3570818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
3571818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3572e942bc329aadbdf6f7f67e35faab52536b964ed9caryclark@google.comstatic void testQuadralateral2(skiatest::Reporter* reporter) {
3573e942bc329aadbdf6f7f67e35faab52536b964ed9caryclark@google.com    SkPath path;
3574e942bc329aadbdf6f7f67e35faab52536b964ed9caryclark@google.com    path.moveTo(0, 0);
3575e942bc329aadbdf6f7f67e35faab52536b964ed9caryclark@google.com    path.lineTo(2, 2);
3576e942bc329aadbdf6f7f67e35faab52536b964ed9caryclark@google.com    path.lineTo(0, 3);
3577e942bc329aadbdf6f7f67e35faab52536b964ed9caryclark@google.com    path.lineTo(3, 3);
3578e942bc329aadbdf6f7f67e35faab52536b964ed9caryclark@google.com    path.close();
3579e942bc329aadbdf6f7f67e35faab52536b964ed9caryclark@google.com    path.moveTo(2, 0);
3580e942bc329aadbdf6f7f67e35faab52536b964ed9caryclark@google.com    path.lineTo(3, 0);
3581e942bc329aadbdf6f7f67e35faab52536b964ed9caryclark@google.com    path.lineTo(0, 1);
3582e942bc329aadbdf6f7f67e35faab52536b964ed9caryclark@google.com    path.lineTo(1, 2);
3583e942bc329aadbdf6f7f67e35faab52536b964ed9caryclark@google.com    path.close();
3584e942bc329aadbdf6f7f67e35faab52536b964ed9caryclark@google.com    testSimplify(reporter, path);
3585e942bc329aadbdf6f7f67e35faab52536b964ed9caryclark@google.com}
3586e942bc329aadbdf6f7f67e35faab52536b964ed9caryclark@google.com
3587ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.comstatic void testQuadratic94(skiatest::Reporter* reporter) {
3588ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    SkPath path;
3589ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.moveTo(0, 0);
3590ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.lineTo(8, 8);
3591ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.quadTo(8, 4, 4, 4);
3592ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.quadTo(4, 0, 0, 0);
3593ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.close();
3594ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    testSimplify(reporter, path);
3595ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com}
3596ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com
3597ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.comstatic void testQuadratic95(skiatest::Reporter* reporter) {
3598ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    SkPath path;
3599ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.moveTo(8, 8);
3600ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.lineTo(0, 0);
3601ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.quadTo(4, 0, 4, 4);
3602ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.quadTo(8, 4, 8, 8);
3603ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.close();
3604ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    testSimplify(reporter, path);
3605ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com}
3606ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com
3607ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.comstatic void testQuadratic96(skiatest::Reporter* reporter) {
3608ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    SkPath path;
3609ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.moveTo(8, 0);
3610ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.lineTo(0, 8);
3611ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.quadTo(0, 4, 4, 4);
3612ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.quadTo(4, 0, 8, 0);
3613ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.close();
3614ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    testSimplify(reporter, path);
3615ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com}
3616ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com
3617ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.comstatic void testQuadratic97(skiatest::Reporter* reporter) {
3618ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    SkPath path;
3619ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.moveTo(0, 8);
3620ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.lineTo(8, 0);
3621ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.quadTo(4, 0, 4, 4);
3622ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.quadTo(0, 4, 0, 8);
3623ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    path.close();
3624ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    testSimplify(reporter, path);
3625ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com}
3626ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com
36270361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.comstatic void testTriangles1(skiatest::Reporter* reporter) {
36280361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    SkPath path;
36290361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    path.moveTo(0, 0);
36300361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    path.lineTo(1, 0);
36310361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    path.lineTo(3, 3);
36320361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    path.close();
36330361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    path.moveTo(0, 0);
36340361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    path.lineTo(1, 2);
36350361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    path.lineTo(1, 1);
36360361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    path.close();
36370361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    testSimplify(reporter, path);
36380361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com}
36390361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com
36400361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.comstatic void testTriangles2(skiatest::Reporter* reporter) {
36410361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    SkPath path;
36420361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    path.moveTo(0, 0);
36430361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    path.lineTo(1, 0);
36440361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    path.lineTo(3, 3);
36450361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    path.close();
36460361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    path.moveTo(1, 1);
36470361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    path.lineTo(2, 3);
36480361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    path.lineTo(1, 2);
36490361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    path.close();
36500361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    testSimplify(reporter, path);
36510361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com}
36520361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com
365366560ca776773858abfffd59974eac32c942acc3caryclark@google.com// A test this for this case:
365466560ca776773858abfffd59974eac32c942acc3caryclark@google.com// contourA has two segments that are coincident
365566560ca776773858abfffd59974eac32c942acc3caryclark@google.com// contourB has two segments that are coincident in the same place
365666560ca776773858abfffd59974eac32c942acc3caryclark@google.com// each ends up with +2/0 pairs for winding count
365766560ca776773858abfffd59974eac32c942acc3caryclark@google.com// since logic in OpSegment::addTCoincident doesn't transfer count (only increments/decrements)
365866560ca776773858abfffd59974eac32c942acc3caryclark@google.com// can this be resolved to +4/0 ?
365966560ca776773858abfffd59974eac32c942acc3caryclark@google.comstatic void testAddTCoincident1(skiatest::Reporter* reporter) {
366066560ca776773858abfffd59974eac32c942acc3caryclark@google.com    SkPath path;
366166560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.moveTo(2, 0);
366266560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(2, 2);
366366560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(1, 1);
366466560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(2, 0);
366566560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(2, 2);
366666560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(1, 1);
366766560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.close();
366866560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.moveTo(2, 0);
366966560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(2, 2);
367066560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(3, 1);
367166560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(2, 0);
367266560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(2, 2);
367366560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(3, 1);
367466560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.close();
367566560ca776773858abfffd59974eac32c942acc3caryclark@google.com    testSimplify(reporter, path);
367666560ca776773858abfffd59974eac32c942acc3caryclark@google.com}
367766560ca776773858abfffd59974eac32c942acc3caryclark@google.com
367866560ca776773858abfffd59974eac32c942acc3caryclark@google.com// test with implicit close
367966560ca776773858abfffd59974eac32c942acc3caryclark@google.comstatic void testAddTCoincident2(skiatest::Reporter* reporter) {
368066560ca776773858abfffd59974eac32c942acc3caryclark@google.com    SkPath path;
368166560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.moveTo(2, 0);
368266560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(2, 2);
368366560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(1, 1);
368466560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(2, 0);
368566560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(2, 2);
368666560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(1, 1);
368766560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.moveTo(2, 0);
368866560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(2, 2);
368966560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(3, 1);
369066560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(2, 0);
369166560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(2, 2);
369266560ca776773858abfffd59974eac32c942acc3caryclark@google.com    path.lineTo(3, 1);
369366560ca776773858abfffd59974eac32c942acc3caryclark@google.com    testSimplify(reporter, path);
369466560ca776773858abfffd59974eac32c942acc3caryclark@google.com}
369566560ca776773858abfffd59974eac32c942acc3caryclark@google.com
3696a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.comstatic void testQuad2(skiatest::Reporter* reporter) {
3697a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    SkPath path;
3698a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.moveTo(1, 0);
3699a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.quadTo(0, 1, 3, 2);
3700a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.lineTo(2, 3);
3701a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.close();
3702a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.moveTo(0, 0);
3703a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.lineTo(1, 0);
3704a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.quadTo(0, 1, 1, 1);
3705a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.close();
3706a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com}
3707a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com
3708a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.comstatic void testQuad3(skiatest::Reporter* reporter) {
3709a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    SkPath path;
3710a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.moveTo(1, 0);
3711a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.quadTo(0, 1, 3, 2);
3712a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.lineTo(3, 3);
3713a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.close();
3714a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.moveTo(0, 0);
3715a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.lineTo(1, 0);
3716a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.quadTo(0, 1, 1, 1);
3717a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.close();
3718a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    testSimplify(reporter, path);
3719a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com}
3720a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com
3721a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.comstatic void testQuad4(skiatest::Reporter* reporter) {
3722a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    SkPath path;
3723a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.moveTo(2, 0);
3724a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.quadTo(0, 1, 1, 1);
3725a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.lineTo(3, 3);
3726a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.close();
3727a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.moveTo(0, 0);
3728a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.lineTo(2, 0);
3729a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.quadTo(0, 1, 2, 2);
3730a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.close();
3731a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    testSimplify(reporter, path);
3732a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com}
3733a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com
3734a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.comstatic void testQuad5(skiatest::Reporter* reporter) {
3735a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    SkPath path;
3736a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.moveTo(2, 0);
3737a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.quadTo(0, 1, 2, 2);
3738a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.lineTo(1, 3);
3739a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.close();
3740a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.moveTo(0, 0);
3741a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.lineTo(2, 0);
3742a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.quadTo(0, 1, 1, 1);
3743a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.close();
3744a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    testSimplify(reporter, path);
3745a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com}
3746a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com
3747a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.comstatic void testQuad6(skiatest::Reporter* reporter) {
3748a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    SkPath path;
3749a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.moveTo(2, 0);
3750a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.quadTo(0, 1, 2, 2);
3751a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.lineTo(1, 3);
3752a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.close();
3753a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.moveTo(1, 0);
3754a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.lineTo(2, 0);
3755a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.quadTo(0, 1, 1, 1);
3756a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.close();
3757a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    testSimplify(reporter, path);
3758a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com}
3759a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com
3760a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.comstatic void testQuad7(skiatest::Reporter* reporter) {
3761a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    SkPath path;
3762a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.moveTo(3, 0);
3763a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.quadTo(0, 1, 1, 1);
3764a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.lineTo(1, 3);
3765a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.close();
3766a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.moveTo(1, 0);
3767a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.lineTo(3, 0);
3768a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.quadTo(0, 1, 1, 2);
3769a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    path.close();
3770a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    testSimplify(reporter, path);
3771a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com}
3772a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com
3773cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.comstatic void testQuadLineIntersect1(skiatest::Reporter* reporter) {
3774cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    SkPath path;
3775cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.moveTo(0, 0);
3776cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.quadTo(3, 1, 0, 3);
3777cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.lineTo(2, 3);
3778cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.close();
3779cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.moveTo(2, 0);
3780cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.lineTo(0, 1);
3781cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.quadTo(3, 1, 0, 2);
3782cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.close();
3783cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    testSimplify(reporter, path);
3784cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com}
3785cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com
3786cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.comstatic void testQuadLineIntersect2(skiatest::Reporter* reporter) {
3787cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    SkPath path;
3788cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.moveTo(0, 0);
3789cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.quadTo(3, 1, 0, 3);
3790cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.lineTo(0, 3);
3791cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.close();
3792cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.moveTo(2, 0);
3793cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.lineTo(0, 1);
3794cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.quadTo(3, 1, 0, 2);
3795cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.close();
3796cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    testSimplify(reporter, path);
3797cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com}
3798cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com
3799cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.comstatic void testQuadLineIntersect3(skiatest::Reporter* reporter) {
3800cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    SkPath path;
3801cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.moveTo(0, 0);
3802cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.quadTo(3, 1, 0, 3);
3803cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.lineTo(1, 3);
3804cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.close();
3805cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.moveTo(2, 0);
3806cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.lineTo(0, 1);
3807cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.quadTo(3, 1, 0, 2);
3808cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    path.close();
3809cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    testSimplify(reporter, path);
3810cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com}
3811cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com
381207e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.comstatic void skphealth_com76(skiatest::Reporter* reporter) {
381307e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    SkPath path;
381407e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.setFillType(SkPath::kWinding_FillType);
381507e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.moveTo(708.099182f, 7.09919119f);
381607e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(708.099182f, 7.09920025f);
381707e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.quadTo(704.000000f, 11.2010098f, 704.000000f, 17.0000000f);
381807e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(704.000000f, 33.0000000f);
381907e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(705.000000f, 33.0000000f);
382007e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(705.000000f, 17.0000000f);
382107e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.cubicTo(705.000000f, 13.4101496f, 706.455078f, 10.1601505f, 708.807617f, 7.80761385f);
382207e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(708.099182f, 7.09919119f);
382307e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.close();
382407e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.moveTo(704.000000f, 3.00000000f);
382507e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(704.000000f, 33.0000000f);
382607e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(705.000000f, 33.0000000f);
382707e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    path.lineTo(719.500000f, 3.00000000f);
382807e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    testSimplify(reporter, path);
382907e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com}
383007e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com
38314fdbb229649caf74e5c1b55a1823926df903af34caryclark@google.comstatic void (*firstTest)(skiatest::Reporter* ) = testQuad6;
3832818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
3833818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic TestDesc tests[] = {
383407e97fccd2d85076cd22ef411b0773ab92a18abecaryclark@google.com    TEST(skphealth_com76),
3835cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    TEST(testQuadLineIntersect1),
3836cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    TEST(testQuadLineIntersect2),
3837cffbcc3b9665f2c928544b6fc6b8a0e22a4210fbcaryclark@google.com    TEST(testQuadLineIntersect3),
3838a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    TEST(testQuad7),
3839a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    TEST(testQuad6),
3840a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    TEST(testQuad5),
3841a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    TEST(testQuad4),
3842a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    TEST(testQuad3),
3843a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    TEST(testQuad2),
384466560ca776773858abfffd59974eac32c942acc3caryclark@google.com    TEST(testAddTCoincident2),
384566560ca776773858abfffd59974eac32c942acc3caryclark@google.com    TEST(testAddTCoincident1),
38460361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    TEST(testTriangles2),
38470361032c0b53401030a720bc8b4930c3ec59f19ecaryclark@google.com    TEST(testTriangles1),
3848ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    TEST(testQuadratic97),
3849ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    TEST(testQuadratic96),
3850ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    TEST(testQuadratic95),
3851ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.com    TEST(testQuadratic94),
3852e942bc329aadbdf6f7f67e35faab52536b964ed9caryclark@google.com    TEST(testQuadralateral2),
3853a5e55925ea03e76885804bda77408a1d6f04c335caryclark@google.com    TEST(testQuad1),
3854818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testCubic2),
3855818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testCubic1),
3856818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadralateral1),
3857818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine85),
3858818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine84),
3859818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine84x),
3860818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine83),
3861818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine82h),
3862818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine82g),
3863818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine82f),
3864818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine82e),
3865818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine82d),
3866818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine82c),
3867818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine82b),
3868818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine82a),
3869818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine82),
3870818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic93),
3871818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic92x),
3872818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic91),
3873818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic90x),
3874818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic89x),
3875818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic88),
3876818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic87),
3877818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic86),
3878818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic85),
3879818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic84),
3880818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic83),
3881818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic82),
3882818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic81),
3883818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic80),
3884818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testEight1),
3885818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testEight2),
3886818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testEight3),
3887818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testEight4),
3888818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testEight5),
3889818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testEight6),
3890818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testEight7),
3891818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testEight8),
3892818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testEight9),
3893818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testEight10),
3894818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic79),
3895818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic78),
3896818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic77),
3897818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic76),
3898818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic75),
3899818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic74),
3900818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic73),
3901818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic72),
3902818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic71),
3903818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic70x),
3904818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic69),
3905818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic68),
3906818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic67x),
3907818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic65),
3908818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic64),
3909818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic63),
3910818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine1a),
3911818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine1ax),
3912818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic59),
3913818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic59x),
3914818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic58),
3915818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic56),
3916818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic55),
3917818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic53),
3918818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic51),
3919818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic38),
3920818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic37),
3921818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic36),
3922818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic35),
3923818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic34),
3924818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic33),
3925818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic32),
3926818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic31),
3927818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic30),
3928818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic29),
3929818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic28),
3930818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic27),
3931818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic26),
3932818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic25),
3933818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic24),
3934818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic23),
3935818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic22),
3936818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic21),
3937818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic20),
3938818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic19),
3939818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic18),
3940818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic17x),
3941818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic15),
3942818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic14),
3943818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic9),
3944818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic8),
3945818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic7),
3946818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic6),
3947818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic5),
3948818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic4x),
3949818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic3x),
3950818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic2x),
3951818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic1x),
3952818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic4),
3953818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic3),
3954818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic2),
3955818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadratic1),
3956818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine4ax),
3957818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine3aax),
3958818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine2ax),
3959818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine1ax),
3960818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadralateral9x),
3961818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadralateral8x),
3962818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadralateral7x),
3963818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadralateral6x),
3964818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadralateral6ax),
3965818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadralateral9),
3966818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadralateral8),
3967818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadralateral7),
3968818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadralateral6),
3969818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadralateral6a),
3970818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testFauxQuadralateral6dx),
3971818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testFauxQuadralateral6cx),
3972818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testFauxQuadralateral6bx),
3973818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testFauxQuadralateral6ax),
3974818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testFauxQuadralateral6x),
3975818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testFauxQuadralateral6d),
3976818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testFauxQuadralateral6c),
3977818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testFauxQuadralateral6b),
3978818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testFauxQuadralateral6a),
3979818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testFauxQuadralateral6),
3980818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadralateral5x),
3981818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testQuadralateral5),
3982818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testNondegenerate4x),
3983818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testNondegenerate3x),
3984818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testNondegenerate2x),
3985818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testNondegenerate1x),
3986818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testNondegenerate4),
3987818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testNondegenerate3),
3988818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testNondegenerate2),
3989818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testNondegenerate1),
3990818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testDegenerate4x),
3991818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testDegenerate3x),
3992818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testDegenerate2x),
3993818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testDegenerate1x),
3994818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testDegenerate4),
3995818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testDegenerate3),
3996818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testDegenerate2),
3997818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testDegenerate1),
3998818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine79x),
3999818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine78x),
4000818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine77x),
4001818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine76x),
4002818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine75x),
4003818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine74x),
4004818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine73x),
4005818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine72x),
4006818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine71x),
4007818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine70x),
4008818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine69x),
4009818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine68hx),
4010818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine68gx),
4011818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine68fx),
4012818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine68ex),
4013818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine68dx),
4014818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine68cx),
4015818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine68bx),
4016818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine68ax),
4017818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine67x),
4018818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine66x),
4019818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine65x),
4020818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine64x),
4021818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine63x),
4022818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine62x),
4023818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine61x),
4024818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine60x),
4025818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine59x),
4026818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine58x),
4027818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine57x),
4028818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine56x),
4029818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine55x),
4030818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine54x),
4031818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine53x),
4032818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine52x),
4033818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine51x),
4034818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine50x),
4035818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine49x),
4036818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine48x),
4037818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine47x),
4038818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine46x),
4039818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine45x),
4040818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine44x),
4041818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine43x),
4042818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine42x),
4043818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine41x),
4044818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine40x),
4045818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine38x),
4046818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine37x),
4047818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine36x),
4048818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine35x),
4049818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine34x),
4050818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine33x),
4051818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine32x),
4052818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine31x),
4053818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine30x),
4054818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine29x),
4055818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine28x),
4056818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine27x),
4057818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine26x),
4058818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine25x),
4059818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine24ax),
4060818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine24x),
4061818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine23x),
4062818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine22x),
4063818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine21x),
4064818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine20x),
4065818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine19x),
4066818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine18x),
4067818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine17x),
4068818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine16x),
4069818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine15x),
4070818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine14x),
4071818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine13x),
4072818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine12x),
4073818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine11x),
4074818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine10ax),
4075818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine10x),
4076818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine9x),
4077818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine8x),
4078818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine7bx),
4079818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine7ax),
4080818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine7x),
4081818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine6x),
4082818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine5x),
4083818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine4x),
4084818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine3bx),
4085818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine3ax),
4086818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine3x),
4087818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine2x),
4088818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine1x),
4089818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine81),
4090818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine80),
4091818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine79),
4092818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine78),
4093818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine77),
4094818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine76),
4095818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine75),
4096818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine74),
4097818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine73),
4098818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine72),
4099818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine71),
4100818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine70),
4101818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine69),
4102818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine68h),
4103818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine68g),
4104818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine68f),
4105818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine68e),
4106818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine68d),
4107818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine68c),
4108818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine68b),
4109818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine68a),
4110818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine67),
4111818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine66),
4112818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine65),
4113818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine64),
4114818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine63),
4115818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine62),
4116818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine61),
4117818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine60),
4118818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine59),
4119818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine58),
4120818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine57),
4121818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine56),
4122818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine55),
4123818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine54),
4124818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine53),
4125818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine52),
4126818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine51),
4127818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine50),
4128818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine49),
4129818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine48),
4130818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine47),
4131818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine46),
4132818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine45),
4133818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine44),
4134818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine43),
4135818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine42),
4136818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine41),
4137818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine40),
4138818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine38),
4139818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine37),
4140818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine36),
4141818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine35),
4142818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine34),
4143818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine33),
4144818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine32),
4145818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine31),
4146818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine30),
4147818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine29),
4148818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine28),
4149818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine27),
4150818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine26),
4151818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine25),
4152818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine24a),
4153818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine24),
4154818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine23),
4155818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine22),
4156818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine21),
4157818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine20),
4158818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine19),
4159818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine18),
4160818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine17),
4161818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine16),
4162818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine15),
4163818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine14),
4164818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine13),
4165818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine12),
4166818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine11),
4167818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine10a),
4168818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine10),
4169818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine9),
4170818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine8),
4171818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine7b),
4172818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine7a),
4173818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine7),
4174818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine6),
4175818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine5),
4176818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine4),
4177818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine3b),
4178818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine3a),
4179818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine3),
4180818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine2),
4181818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine1),
4182818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com};
4183818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
4184ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.comstatic const size_t testCount = SK_ARRAY_COUNT(tests);
4185818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
4186818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic TestDesc subTests[] = {
4187818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine3),
4188818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine2),
4189818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    TEST(testLine1),
4190818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com};
4191818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
4192ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.comstatic const size_t subTestCount = SK_ARRAY_COUNT(subTests);
4193818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
4194818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void (*firstSubTest)(skiatest::Reporter* ) = 0;
4195818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
4196818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic bool runSubTestsFirst = false;
41974fdbb229649caf74e5c1b55a1823926df903af34caryclark@google.comstatic bool runReverse = false;
4198818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.comstatic void (*stopTest)(skiatest::Reporter* ) = 0;
4199818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
4200ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.comstatic void PathOpsSimplifyTest(skiatest::Reporter* reporter) {
4201818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com#ifdef SK_DEBUG
4202818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    gDebugMaxWindSum = 4;
4203818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    gDebugMaxWindValue = 4;
4204818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com#endif
4205818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    if (runSubTestsFirst) {
4206818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com        RunTestSet(reporter, subTests, subTestCount, firstSubTest, stopTest, runReverse);
4207818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    }
4208818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    RunTestSet(reporter, tests, testCount, firstTest, stopTest, runReverse);
4209818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    if (!runSubTestsFirst) {
4210818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com        RunTestSet(reporter, subTests, subTestCount, firstSubTest, stopTest, runReverse);
4211818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    }
4212818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com#ifdef SK_DEBUG
4213818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    gDebugMaxWindSum = SK_MaxS32;
4214818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com    gDebugMaxWindValue = SK_MaxS32;
4215818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com#endif
4216818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com}
4217818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com
4218818b0cc1b8b0c4acc565e8e2cb8b0b61aa5a300ecaryclark@google.com#include "TestClassDef.h"
4219ad65a3e5fb1f94699f183551b828efbcc6a133cecaryclark@google.comDEFINE_TESTCLASS_SHORT(PathOpsSimplifyTest)
4220