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