Index: skia/ext/analysis_canvas_unittest.cc |
diff --git a/skia/ext/analysis_canvas_unittest.cc b/skia/ext/analysis_canvas_unittest.cc |
index fcf0872d6402631ba7c8d9c0015f814f1f8f0d71..0b6103106ad86a2a7348b9b27e5b2bd5968fba22 100644 |
--- a/skia/ext/analysis_canvas_unittest.cc |
+++ b/skia/ext/analysis_canvas_unittest.cc |
@@ -18,7 +18,6 @@ |
} |
} // namespace |
- |
namespace skia { |
TEST(AnalysisCanvasTest, EmptyCanvas) { |
@@ -343,6 +342,15 @@ |
EXPECT_TRUE(canvas.HasText()); |
} |
{ |
+ // Text under opaque rect. |
+ skia::AnalysisDevice device(bitmap); |
+ skia::AnalysisCanvas canvas(&device); |
+ canvas.drawText(text, byteLength, point.fX, point.fY, paint); |
+ EXPECT_TRUE(canvas.HasText()); |
+ canvas.drawRect(SkRect::MakeWH(width, height), paint); |
+ EXPECT_FALSE(canvas.HasText()); |
+ } |
+ { |
// Text under translucent rect. |
skia::AnalysisDevice device(bitmap); |
skia::AnalysisCanvas canvas(&device); |
@@ -352,6 +360,17 @@ |
translucentPaint.setColor(0x88FFFFFF); |
canvas.drawRect(SkRect::MakeWH(width, height), translucentPaint); |
EXPECT_TRUE(canvas.HasText()); |
+ } |
+ { |
+ // Text under rect in clear mode. |
+ skia::AnalysisDevice device(bitmap); |
+ skia::AnalysisCanvas canvas(&device); |
+ canvas.drawText(text, byteLength, point.fX, point.fY, paint); |
+ EXPECT_TRUE(canvas.HasText()); |
+ SkPaint clearModePaint; |
+ clearModePaint.setXfermodeMode(SkXfermode::kClear_Mode); |
+ canvas.drawRect(SkRect::MakeWH(width, height), clearModePaint); |
+ EXPECT_FALSE(canvas.HasText()); |
} |
{ |
// Clear. |