aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/QuickRejectTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/QuickRejectTest.cpp')
-rw-r--r--tests/QuickRejectTest.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/QuickRejectTest.cpp b/tests/QuickRejectTest.cpp
index cefde12354..447d81615b 100644
--- a/tests/QuickRejectTest.cpp
+++ b/tests/QuickRejectTest.cpp
@@ -87,6 +87,23 @@ static void test_drawBitmap(skiatest::Reporter* reporter) {
REPORTER_ASSERT(reporter, 0xFFFFFFFF == *dst.getAddr32(5, 5));
}
+static void test_layers(skiatest::Reporter* reporter) {
+ SkCanvas canvas(100, 100);
+
+ SkRect r = SkRect::MakeWH(10, 10);
+ REPORTER_ASSERT(reporter, false == canvas.quickReject(r));
+
+ r.offset(300, 300);
+ REPORTER_ASSERT(reporter, true == canvas.quickReject(r));
+
+ // Test that saveLayer updates quickReject
+ SkRect bounds = SkRect::MakeLTRB(50, 50, 70, 70);
+ canvas.saveLayer(&bounds, NULL);
+ REPORTER_ASSERT(reporter, true == canvas.quickReject(SkRect::MakeWH(10, 10)));
+ REPORTER_ASSERT(reporter, false == canvas.quickReject(SkRect::MakeWH(60, 60)));
+}
+
DEF_TEST(QuickReject, reporter) {
test_drawBitmap(reporter);
+ test_layers(reporter);
}