Chromium Code Reviews| Index: cc/tiled_layer_impl_unittest.cc |
| diff --git a/cc/tiled_layer_impl_unittest.cc b/cc/tiled_layer_impl_unittest.cc |
| index 323ce891bde9e3032d95f96ca29a9da976b6554e..796c7c550c23cd088ab8a7b56a1320d9d7334e0a 100644 |
| --- a/cc/tiled_layer_impl_unittest.cc |
| +++ b/cc/tiled_layer_impl_unittest.cc |
| @@ -14,9 +14,12 @@ |
| #include "cc/tile_draw_quad.h" |
| #include "testing/gmock/include/gmock/gmock.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| +#include "third_party/khronos/GLES2/gl2.h" |
| +#include <public/WebTransformationMatrix.h> |
| using namespace cc; |
| using namespace LayerTestCommon; |
| +using namespace WebKit; |
|
jamesr
2012/11/09 18:40:09
using statements aren't style guide compliant (nei
Sami
2012/11/11 16:56:27
Done.
|
| namespace { |
| @@ -134,11 +137,12 @@ TEST(TiledLayerImplTest, checkerboarding) |
| } |
| } |
| -static void getQuads(QuadList& quads, SharedQuadStateList& sharedStates, gfx::Size tileSize, const gfx::Size& layerSize, LayerTilingData::BorderTexelOption borderTexelOption, const gfx::Rect& visibleContentRect) |
| +static void getQuads(QuadList& quads, SharedQuadStateList& sharedStates, gfx::Size tileSize, const gfx::Size& layerSize, LayerTilingData::BorderTexelOption borderTexelOption, const gfx::Rect& visibleContentRect, const WebTransformationMatrix drawTransform = WebTransformationMatrix()) |
| { |
| scoped_ptr<TiledLayerImpl> layer = createLayer(tileSize, layerSize, borderTexelOption); |
| layer->setVisibleContentRect(visibleContentRect); |
| layer->setBounds(layerSize); |
| + layer->setDrawTransform(drawTransform); |
| MockQuadCuller quadCuller(quads, sharedStates); |
| AppendQuadsData data; |
| @@ -227,4 +231,58 @@ TEST(TiledLayerImplTest, tileOpaqueRectForLayerNoBorders) |
| } |
| } |
| +TEST(TiledLayerImplTest, nearestFilteringForTranslatedQuads) |
| +{ |
| + gfx::Size tileSize(50, 50); |
| + gfx::Size layerSize(250, 250); |
| + QuadList quads; |
| + SharedQuadStateList sharedStates; |
| + getQuads(quads, sharedStates, tileSize, layerSize, LayerTilingData::HasBorderTexels, gfx::Rect(gfx::Point(), layerSize)); |
| + |
| + for (size_t i = 0; i < quads.size(); ++i) { |
| + ASSERT_EQ(quads[i]->material(), DrawQuad::TiledContent) << quadString << i; |
| + TileDrawQuad* quad = static_cast<TileDrawQuad*>(quads[i]); |
| + |
| + EXPECT_EQ(GL_NEAREST, quad->textureFilter()) << quadString << i; |
| + } |
| +} |
| + |
| +TEST(TiledLayerImplTest, linearFilteringForScaledQuads) |
| +{ |
| + gfx::Size tileSize(50, 50); |
| + gfx::Size layerSize(250, 250); |
| + QuadList quads; |
| + SharedQuadStateList sharedStates; |
| + WebTransformationMatrix drawTransform; |
| + |
| + drawTransform.scale(2); |
| + getQuads(quads, sharedStates, tileSize, layerSize, LayerTilingData::HasBorderTexels, gfx::Rect(gfx::Point(), layerSize), drawTransform); |
| + |
| + for (size_t i = 0; i < quads.size(); ++i) { |
| + ASSERT_EQ(quads[i]->material(), DrawQuad::TiledContent) << quadString << i; |
| + TileDrawQuad* quad = static_cast<TileDrawQuad*>(quads[i]); |
| + |
| + EXPECT_EQ(GL_LINEAR, quad->textureFilter()) << quadString << i; |
| + } |
| +} |
| + |
| +TEST(TiledLayerImplTest, linearFilteringForTransformedQuads) |
| +{ |
| + gfx::Size tileSize(50, 50); |
| + gfx::Size layerSize(250, 250); |
| + QuadList quads; |
| + SharedQuadStateList sharedStates; |
| + WebTransformationMatrix drawTransform; |
| + |
| + drawTransform.rotate3d(15, 30, 45); |
| + getQuads(quads, sharedStates, tileSize, layerSize, LayerTilingData::HasBorderTexels, gfx::Rect(gfx::Point(), layerSize), drawTransform); |
| + |
| + for (size_t i = 0; i < quads.size(); ++i) { |
| + ASSERT_EQ(quads[i]->material(), DrawQuad::TiledContent) << quadString << i; |
| + TileDrawQuad* quad = static_cast<TileDrawQuad*>(quads[i]); |
| + |
| + EXPECT_EQ(GL_LINEAR, quad->textureFilter()) << quadString << i; |
| + } |
| +} |
| + |
| } // anonymous namespace |