Chromium Code Reviews| Index: cc/layers/nine_patch_layer_impl_unittest.cc |
| diff --git a/cc/layers/nine_patch_layer_impl_unittest.cc b/cc/layers/nine_patch_layer_impl_unittest.cc |
| index 695d827675d7d8a2ca5c243dd42f17f0871eab57..63e09e1c97ffaa965930ee3774709113ec6591ff 100644 |
| --- a/cc/layers/nine_patch_layer_impl_unittest.cc |
| +++ b/cc/layers/nine_patch_layer_impl_unittest.cc |
| @@ -271,5 +271,70 @@ TEST(NinePatchLayerImplTest, Occlusion) { |
| } |
| } |
| +TEST(NinePatchLayerImplTest, VerifyOpaqueRect) { |
|
danakj
2014/11/12 16:34:08
Verify is redundant, all tests verify something
|
| + gfx::Size layer_size(1000, 1000); |
| + gfx::Size viewport_size(1000, 1000); |
| + |
| + LayerTestCommon::LayerImplTest impl; |
| + |
| + SkBitmap sk_bitmap_opaque; |
| + sk_bitmap_opaque.allocN32Pixels(10, 10); |
| + sk_bitmap_opaque.setImmutable(); |
| + sk_bitmap_opaque.setAlphaType(kOpaque_SkAlphaType); |
| + |
| + UIResourceId uid_opaque = 1; |
| + UIResourceBitmap bitmap_opaque(sk_bitmap_opaque); |
| + impl.host_impl()->CreateUIResource(uid_opaque, bitmap_opaque); |
| + |
| + SkBitmap sk_bitmap_alpha; |
| + sk_bitmap_alpha.allocN32Pixels(10, 10); |
| + sk_bitmap_alpha.setImmutable(); |
| + sk_bitmap_alpha.setAlphaType(kUnpremul_SkAlphaType); |
| + |
| + UIResourceId uid_alpha = 2; |
| + UIResourceBitmap bitmap_alpha(sk_bitmap_alpha); |
| + |
| + impl.host_impl()->CreateUIResource(uid_alpha, bitmap_alpha); |
| + |
| + NinePatchLayerImpl *nine_patch_layer_impl = |
| + impl.AddChildToRoot<NinePatchLayerImpl>(); |
| + nine_patch_layer_impl->SetBounds(layer_size); |
| + nine_patch_layer_impl->SetContentBounds(layer_size); |
| + nine_patch_layer_impl->SetDrawsContent(true); |
| + nine_patch_layer_impl->SetImageBounds(gfx::Size(10, 10)); |
| + |
| + gfx::Rect aperture = gfx::Rect(3, 3, 4, 4); |
| + gfx::Rect border = gfx::Rect(300, 300, 400, 400); |
| + nine_patch_layer_impl->SetLayout(aperture, border, true); |
| + |
| + impl.CalcDrawProps(viewport_size); |
| + |
| + { |
| + SCOPED_TRACE("Use opaque image"); |
| + |
| + nine_patch_layer_impl->SetUIResourceId(uid_opaque); |
| + |
| + impl.AppendQuadsWithOcclusion(nine_patch_layer_impl, gfx::Rect()); |
| + |
| + const QuadList &quad_list = impl.quad_list(); |
| + for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); |
| + it != quad_list.BackToFrontEnd(); ++it) |
| + EXPECT_EQ(false, it->ShouldDrawWithBlending()); |
| + } |
| + |
| + { |
| + SCOPED_TRACE("Use tranparent image"); |
| + |
| + nine_patch_layer_impl->SetUIResourceId(uid_alpha); |
| + |
| + impl.AppendQuadsWithOcclusion(nine_patch_layer_impl, gfx::Rect()); |
| + |
| + const QuadList &quad_list = impl.quad_list(); |
| + for (QuadList::ConstBackToFrontIterator it = quad_list.BackToFrontBegin(); |
| + it != quad_list.BackToFrontEnd(); ++it) |
| + EXPECT_EQ(true, it->ShouldDrawWithBlending()); |
| + } |
| +} |
| + |
| } // namespace |
| } // namespace cc |