xref: /aosp_15_r20/external/skia/tests/IsClosedSingleContourTest.cpp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker /*
2*c8dee2aaSAndroid Build Coastguard Worker  * Copyright 2015 Google Inc.
3*c8dee2aaSAndroid Build Coastguard Worker  *
4*c8dee2aaSAndroid Build Coastguard Worker  * Use of this source code is governed by a BSD-style license that can be
5*c8dee2aaSAndroid Build Coastguard Worker  * found in the LICENSE file.
6*c8dee2aaSAndroid Build Coastguard Worker  */
7*c8dee2aaSAndroid Build Coastguard Worker #include "include/core/SkPathBuilder.h"
8*c8dee2aaSAndroid Build Coastguard Worker #include "src/core/SkPathPriv.h"
9*c8dee2aaSAndroid Build Coastguard Worker #include "tests/Test.h"
10*c8dee2aaSAndroid Build Coastguard Worker 
DEF_TEST(IsClosedSingleContourTest,reporter)11*c8dee2aaSAndroid Build Coastguard Worker DEF_TEST(IsClosedSingleContourTest, reporter) {
12*c8dee2aaSAndroid Build Coastguard Worker     SkPathBuilder p;
13*c8dee2aaSAndroid Build Coastguard Worker     REPORTER_ASSERT(reporter, !SkPathPriv::IsClosedSingleContour(p.detach()));
14*c8dee2aaSAndroid Build Coastguard Worker 
15*c8dee2aaSAndroid Build Coastguard Worker     p.close();
16*c8dee2aaSAndroid Build Coastguard Worker     REPORTER_ASSERT(reporter, !SkPathPriv::IsClosedSingleContour(p.detach()));
17*c8dee2aaSAndroid Build Coastguard Worker 
18*c8dee2aaSAndroid Build Coastguard Worker     p.moveTo(10, 10);
19*c8dee2aaSAndroid Build Coastguard Worker     p.close();
20*c8dee2aaSAndroid Build Coastguard Worker     REPORTER_ASSERT(reporter, SkPathPriv::IsClosedSingleContour(p.detach()));
21*c8dee2aaSAndroid Build Coastguard Worker 
22*c8dee2aaSAndroid Build Coastguard Worker     p.moveTo(10, 10);
23*c8dee2aaSAndroid Build Coastguard Worker     p.lineTo(20, 20);
24*c8dee2aaSAndroid Build Coastguard Worker     p.close();
25*c8dee2aaSAndroid Build Coastguard Worker     REPORTER_ASSERT(reporter, SkPathPriv::IsClosedSingleContour(p.detach()));
26*c8dee2aaSAndroid Build Coastguard Worker 
27*c8dee2aaSAndroid Build Coastguard Worker     p.moveTo(10, 10);
28*c8dee2aaSAndroid Build Coastguard Worker     p.lineTo(20, 20);
29*c8dee2aaSAndroid Build Coastguard Worker     p.quadTo(30, 30, 40, 40);
30*c8dee2aaSAndroid Build Coastguard Worker     p.cubicTo(50, 50, 60, 60, 70, 70);
31*c8dee2aaSAndroid Build Coastguard Worker     p.conicTo(30, 30, 40, 40, 0.5);
32*c8dee2aaSAndroid Build Coastguard Worker     p.close();
33*c8dee2aaSAndroid Build Coastguard Worker     REPORTER_ASSERT(reporter, SkPathPriv::IsClosedSingleContour(p.detach()));
34*c8dee2aaSAndroid Build Coastguard Worker 
35*c8dee2aaSAndroid Build Coastguard Worker     p.moveTo(10, 10);
36*c8dee2aaSAndroid Build Coastguard Worker     p.lineTo(20, 20);
37*c8dee2aaSAndroid Build Coastguard Worker     p.lineTo(20, 30);
38*c8dee2aaSAndroid Build Coastguard Worker     REPORTER_ASSERT(reporter, !SkPathPriv::IsClosedSingleContour(p.detach()));
39*c8dee2aaSAndroid Build Coastguard Worker 
40*c8dee2aaSAndroid Build Coastguard Worker     p.moveTo(10, 10);
41*c8dee2aaSAndroid Build Coastguard Worker     p.lineTo(20, 20);
42*c8dee2aaSAndroid Build Coastguard Worker     p.moveTo(10, 10);
43*c8dee2aaSAndroid Build Coastguard Worker     p.lineTo(20, 30);
44*c8dee2aaSAndroid Build Coastguard Worker     p.close();
45*c8dee2aaSAndroid Build Coastguard Worker     REPORTER_ASSERT(reporter, !SkPathPriv::IsClosedSingleContour(p.detach()));
46*c8dee2aaSAndroid Build Coastguard Worker 
47*c8dee2aaSAndroid Build Coastguard Worker     p.moveTo(10, 10);
48*c8dee2aaSAndroid Build Coastguard Worker     p.lineTo(20, 20);
49*c8dee2aaSAndroid Build Coastguard Worker     p.close();
50*c8dee2aaSAndroid Build Coastguard Worker     p.lineTo(20, 30);
51*c8dee2aaSAndroid Build Coastguard Worker     p.close();
52*c8dee2aaSAndroid Build Coastguard Worker     REPORTER_ASSERT(reporter, !SkPathPriv::IsClosedSingleContour(p.detach()));
53*c8dee2aaSAndroid Build Coastguard Worker }
54