Fix SkASSERT for convex paths with DAA

As DAA does not chop edges at Y extrema, it's valid for convex edges to
have only one edge (e.g., a single cubic edge with the valley shape \_/).

This wasn't an issue for production because DAA is never called for
convex paths by default.

Bug=skia:7015
Change-Id: Iac79801d6a24188970ef6f7bf723494a25d92a1e
Reviewed-on: https://skia-review.googlesource.com/42942
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
diff --git a/tests/PathTest.cpp b/tests/PathTest.cpp
index 37127ff..bdd15fb 100644
--- a/tests/PathTest.cpp
+++ b/tests/PathTest.cpp
@@ -4517,6 +4517,24 @@
     paint.setAntiAlias(true);
     surface->getCanvas()->drawPath(path, paint);
 }
+
+static void test_skbug_7015() {
+    SkPath path;
+    path.setFillType(SkPath::kWinding_FillType);
+    path.moveTo(SkBits2Float(0x4388c000), SkBits2Float(0x43947c08));  // 273.5f, 296.969f
+    path.lineTo(SkBits2Float(0x4386c000), SkBits2Float(0x43947c08));  // 269.5f, 296.969f
+    // 269.297f, 292.172f, 273.695f, 292.172f, 273.5f, 296.969f
+    path.cubicTo(SkBits2Float(0x4386a604), SkBits2Float(0x43921604),
+            SkBits2Float(0x4388d8f6), SkBits2Float(0x43921604),
+            SkBits2Float(0x4388c000), SkBits2Float(0x43947c08));
+    path.close();
+
+    auto surface = SkSurface::MakeRasterN32Premul(500, 500);
+    SkPaint paint;
+    paint.setAntiAlias(true);
+    surface->getCanvas()->drawPath(path, paint);
+}
+
 #endif
 
 static void test_interp(skiatest::Reporter* reporter) {
@@ -4593,6 +4611,7 @@
     test_fuzz_crbug_668907();
 #if !defined(SK_SUPPORT_LEGACY_DELTA_AA)
     test_skbug_6947();
+    test_skbug_7015();
 #endif
 
     SkSize::Make(3, 4);