text: /*
   * Copyright 2015 Google Inc.
   *
   * Use of this source code is governed by a BSD-style license that can be
   * found in the LICENSE file.
   */
  #include "src/core/SkPathPriv.h"
  #include "tests/Test.h"
  
  DEF_TEST(IsClosedSingleContourTest, reporter) {
      SkPathBuilder p;
      REPORTER_ASSERT(reporter, !SkPathPriv::IsClosedSingleContour(p.detach()));
  
      p.close();
      REPORTER_ASSERT(reporter, !SkPathPriv::IsClosedSingleContour(p.detach()));
  
      p.moveTo(10, 10);
      p.close();
      REPORTER_ASSERT(reporter, SkPathPriv::IsClosedSingleContour(p.detach()));
  
      p.moveTo(10, 10);
      p.lineTo(20, 20);
      p.close();
      REPORTER_ASSERT(reporter, SkPathPriv::IsClosedSingleContour(p.detach()));
  
      p.moveTo(10, 10);
      p.lineTo(20, 20);
      p.quadTo(30, 30, 40, 40);
      p.cubicTo(50, 50, 60, 60, 70, 70);
      p.conicTo(30, 30, 40, 40, 0.5);
      p.close();
      REPORTER_ASSERT(reporter, SkPathPriv::IsClosedSingleContour(p.detach()));
  
      p.moveTo(10, 10);
      p.lineTo(20, 20);
      p.lineTo(20, 30);
      REPORTER_ASSERT(reporter, !SkPathPriv::IsClosedSingleContour(p.detach()));
  
      p.moveTo(10, 10);
      p.lineTo(20, 20);
      p.moveTo(10, 10);
      p.lineTo(20, 30);
      p.close();
      REPORTER_ASSERT(reporter, !SkPathPriv::IsClosedSingleContour(p.detach()));
  
      p.moveTo(10, 10);
      p.lineTo(20, 20);
      p.close();
      p.lineTo(20, 30);
      p.close();
      REPORTER_ASSERT(reporter, !SkPathPriv::IsClosedSingleContour(p.detach()));
  }
  