Index: skia/ext/analysis_canvas_unittest.cc |
diff --git a/skia/ext/analysis_canvas_unittest.cc b/skia/ext/analysis_canvas_unittest.cc |
index b9d6c5b80ba304477451b8f7f4938d081ebd9a28..378d27d6569440553b62ff8387c8c067a4c962d7 100644 |
--- a/skia/ext/analysis_canvas_unittest.cc |
+++ b/skia/ext/analysis_canvas_unittest.cc |
@@ -322,4 +322,35 @@ TEST(AnalysisCanvasTest, EarlyOutNotSolid) { |
} |
+TEST(AnalysisCanvasTest, ClipComplexRegion) { |
+ skia::AnalysisCanvas canvas(255, 255); |
+ |
+ SkPath path; |
+ path.moveTo(0, 0); |
+ path.lineTo(128, 50); |
+ path.lineTo(255, 0); |
+ path.lineTo(255, 255); |
+ path.lineTo(0, 255); |
+ SkIRect pathBounds = path.getBounds().round(); |
+ SkRegion region; |
+ region.setPath(path, SkRegion(pathBounds)); |
+ |
+ SkColor outputColor; |
+ SolidColorFill(canvas); |
+ canvas.clipRegion(region); |
+ EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor)); |
+ |
+ canvas.save(); |
+ EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor)); |
+ |
+ canvas.clipRegion(region); |
+ EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor)); |
+ |
+ canvas.restore(); |
+ EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor)); |
+ |
+ SolidColorFill(canvas); |
+ EXPECT_FALSE(canvas.GetColorIfSolid(&outputColor)); |
+} |
+ |
} // namespace skia |