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