Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1533)

Unified Diff: cc/tiled_layer_impl_unittest.cc

Issue 11472021: cc: Pass LayerTreeHostImpl to LayerImpl constructor (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/tiled_layer_impl.cc ('k') | cc/tiled_layer_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/tiled_layer_impl_unittest.cc
diff --git a/cc/tiled_layer_impl_unittest.cc b/cc/tiled_layer_impl_unittest.cc
index 257b07c7b6fa177ced2a4974fd3deb29047b8f5c..e0f5433a9119340d9611c08a02736533c1885b2f 100644
--- a/cc/tiled_layer_impl_unittest.cc
+++ b/cc/tiled_layer_impl_unittest.cc
@@ -7,6 +7,8 @@
#include "cc/append_quads_data.h"
#include "cc/layer_tiling_data.h"
#include "cc/single_thread_proxy.h"
+#include "cc/test/fake_impl_proxy.h"
+#include "cc/test/fake_layer_tree_host_impl.h"
#include "cc/test/layer_test_common.h"
#include "cc/test/mock_quad_culler.h"
#include "cc/tile_draw_quad.h"
@@ -16,33 +18,58 @@
using namespace LayerTestCommon;
namespace cc {
+
namespace {
-// Create a default tiled layer with textures for all tiles and a default
-// visibility of the entire layer size.
-static scoped_ptr<TiledLayerImpl> createLayer(const gfx::Size& tileSize, const gfx::Size& layerSize, LayerTilingData::BorderTexelOption borderTexels)
+class TiledLayerImplTest : public testing::Test
{
- scoped_ptr<TiledLayerImpl> layer = TiledLayerImpl::create(1);
- scoped_ptr<LayerTilingData> tiler = LayerTilingData::create(tileSize, borderTexels);
- tiler->setBounds(layerSize);
- layer->setTilingData(*tiler);
- layer->setSkipsDraw(false);
- layer->drawProperties().visible_content_rect = gfx::Rect(gfx::Point(), layerSize);
- layer->drawProperties().opacity = 1;
- layer->setBounds(layerSize);
- layer->setContentBounds(layerSize);
- layer->createRenderSurface();
- layer->drawProperties().render_target = layer.get();
-
- ResourceProvider::ResourceId resourceId = 1;
- for (int i = 0; i < tiler->numTilesX(); ++i)
- for (int j = 0; j < tiler->numTilesY(); ++j)
- layer->pushTileProperties(i, j, resourceId++, gfx::Rect(0, 0, 1, 1), false);
-
- return layer.Pass();
-}
+public:
+ TiledLayerImplTest()
+ : m_hostImpl(&m_proxy)
+ {
+ }
+
+ // Create a default tiled layer with textures for all tiles and a default
+ // visibility of the entire layer size.
+ scoped_ptr<TiledLayerImpl> createLayer(const gfx::Size& tileSize, const gfx::Size& layerSize, LayerTilingData::BorderTexelOption borderTexels)
+ {
+ scoped_ptr<TiledLayerImpl> layer = TiledLayerImpl::create(&m_hostImpl, 1);
+ scoped_ptr<LayerTilingData> tiler = LayerTilingData::create(tileSize, borderTexels);
+ tiler->setBounds(layerSize);
+ layer->setTilingData(*tiler);
+ layer->setSkipsDraw(false);
+ layer->drawProperties().visible_content_rect = gfx::Rect(gfx::Point(), layerSize);
+ layer->drawProperties().opacity = 1;
+ layer->setBounds(layerSize);
+ layer->setContentBounds(layerSize);
+ layer->createRenderSurface();
+ layer->drawProperties().render_target = layer.get();
+
+ ResourceProvider::ResourceId resourceId = 1;
+ for (int i = 0; i < tiler->numTilesX(); ++i)
+ for (int j = 0; j < tiler->numTilesY(); ++j)
+ layer->pushTileProperties(i, j, resourceId++, gfx::Rect(0, 0, 1, 1), false);
+
+ return layer.Pass();
+ }
+
+ void getQuads(QuadList& quads, SharedQuadStateList& sharedStates, gfx::Size tileSize, const gfx::Size& layerSize, LayerTilingData::BorderTexelOption borderTexelOption, const gfx::Rect& visibleContentRect)
+ {
+ scoped_ptr<TiledLayerImpl> layer = createLayer(tileSize, layerSize, borderTexelOption);
+ layer->drawProperties().visible_content_rect = visibleContentRect;
+ layer->setBounds(layerSize);
+
+ MockQuadCuller quadCuller(quads, sharedStates);
+ AppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
+ }
-TEST(TiledLayerImplTest, emptyQuadList)
+protected:
+ FakeImplProxy m_proxy;
+ FakeLayerTreeHostImpl m_hostImpl;
+};
+
+TEST_F(TiledLayerImplTest, emptyQuadList)
{
const gfx::Size tileSize(90, 90);
const int numTilesX = 8;
@@ -95,7 +122,7 @@ TEST(TiledLayerImplTest, emptyQuadList)
}
}
-TEST(TiledLayerImplTest, checkerboarding)
+TEST_F(TiledLayerImplTest, checkerboarding)
{
const gfx::Size tileSize(10, 10);
const int numTilesX = 2;
@@ -132,65 +159,60 @@ TEST(TiledLayerImplTest, checkerboarding)
}
}
-static void getQuads(QuadList& quads, SharedQuadStateList& sharedStates, gfx::Size tileSize, const gfx::Size& layerSize, LayerTilingData::BorderTexelOption borderTexelOption, const gfx::Rect& visibleContentRect)
-{
- scoped_ptr<TiledLayerImpl> layer = createLayer(tileSize, layerSize, borderTexelOption);
- layer->drawProperties().visible_content_rect = visibleContentRect;
- layer->setBounds(layerSize);
-
- MockQuadCuller quadCuller(quads, sharedStates);
- AppendQuadsData data;
- layer->appendQuads(quadCuller, data);
-}
-
// Test with both border texels and without.
-#define WITH_AND_WITHOUT_BORDER_TEST(testFixtureName) \
- TEST(TiledLayerImplTest, testFixtureName##NoBorders) \
- { \
- testFixtureName(LayerTilingData::NoBorderTexels); \
- } \
- TEST(TiledLayerImplTest, testFixtureName##HasBorders) \
- { \
- testFixtureName(LayerTilingData::HasBorderTexels);\
+#define WITH_AND_WITHOUT_BORDER_TEST(testFixtureName) \
+ TEST_F(TiledLayerImplBorderTest, testFixtureName##NoBorders) \
+ { \
+ testFixtureName(LayerTilingData::NoBorderTexels); \
+ } \
+ TEST_F(TiledLayerImplBorderTest, testFixtureName##HasBorders) \
+ { \
+ testFixtureName(LayerTilingData::HasBorderTexels); \
}
-static void coverageVisibleRectOnTileBoundaries(LayerTilingData::BorderTexelOption borders)
+class TiledLayerImplBorderTest : public TiledLayerImplTest
{
- gfx::Size layerSize(1000, 1000);
- QuadList quads;
- SharedQuadStateList sharedStates;
- getQuads(quads, sharedStates, gfx::Size(100, 100), layerSize, borders, gfx::Rect(gfx::Point(), layerSize));
- verifyQuadsExactlyCoverRect(quads, gfx::Rect(gfx::Point(), layerSize));
-}
-WITH_AND_WITHOUT_BORDER_TEST(coverageVisibleRectOnTileBoundaries);
+public:
+ void coverageVisibleRectOnTileBoundaries(LayerTilingData::BorderTexelOption borders)
+ {
+ gfx::Size layerSize(1000, 1000);
+ QuadList quads;
+ SharedQuadStateList sharedStates;
+ getQuads(quads, sharedStates, gfx::Size(100, 100), layerSize, borders, gfx::Rect(gfx::Point(), layerSize));
+ verifyQuadsExactlyCoverRect(quads, gfx::Rect(gfx::Point(), layerSize));
+ }
-static void coverageVisibleRectIntersectsTiles(LayerTilingData::BorderTexelOption borders)
-{
- // This rect intersects the middle 3x3 of the 5x5 tiles.
- gfx::Point topLeft(65, 73);
- gfx::Point bottomRight(182, 198);
- gfx::Rect visibleContentRect = gfx::BoundingRect(topLeft, bottomRight);
+ void coverageVisibleRectIntersectsTiles(LayerTilingData::BorderTexelOption borders)
+ {
+ // This rect intersects the middle 3x3 of the 5x5 tiles.
+ gfx::Point topLeft(65, 73);
+ gfx::Point bottomRight(182, 198);
+ gfx::Rect visibleContentRect = gfx::BoundingRect(topLeft, bottomRight);
+
+ gfx::Size layerSize(250, 250);
+ QuadList quads;
+ SharedQuadStateList sharedStates;
+ getQuads(quads, sharedStates, gfx::Size(50, 50), gfx::Size(250, 250), LayerTilingData::NoBorderTexels, visibleContentRect);
+ verifyQuadsExactlyCoverRect(quads, visibleContentRect);
+ }
+
+ void coverageVisibleRectIntersectsBounds(LayerTilingData::BorderTexelOption borders)
+ {
+ gfx::Size layerSize(220, 210);
+ gfx::Rect visibleContentRect(gfx::Point(), layerSize);
+ QuadList quads;
+ SharedQuadStateList sharedStates;
+ getQuads(quads, sharedStates, gfx::Size(100, 100), layerSize, LayerTilingData::NoBorderTexels, visibleContentRect);
+ verifyQuadsExactlyCoverRect(quads, visibleContentRect);
+ }
+};
+WITH_AND_WITHOUT_BORDER_TEST(coverageVisibleRectOnTileBoundaries);
- gfx::Size layerSize(250, 250);
- QuadList quads;
- SharedQuadStateList sharedStates;
- getQuads(quads, sharedStates, gfx::Size(50, 50), gfx::Size(250, 250), LayerTilingData::NoBorderTexels, visibleContentRect);
- verifyQuadsExactlyCoverRect(quads, visibleContentRect);
-}
WITH_AND_WITHOUT_BORDER_TEST(coverageVisibleRectIntersectsTiles);
-static void coverageVisibleRectIntersectsBounds(LayerTilingData::BorderTexelOption borders)
-{
- gfx::Size layerSize(220, 210);
- gfx::Rect visibleContentRect(gfx::Point(), layerSize);
- QuadList quads;
- SharedQuadStateList sharedStates;
- getQuads(quads, sharedStates, gfx::Size(100, 100), layerSize, LayerTilingData::NoBorderTexels, visibleContentRect);
- verifyQuadsExactlyCoverRect(quads, visibleContentRect);
-}
WITH_AND_WITHOUT_BORDER_TEST(coverageVisibleRectIntersectsBounds);
-TEST(TiledLayerImplTest, textureInfoForLayerNoBorders)
+TEST_F(TiledLayerImplTest, textureInfoForLayerNoBorders)
{
gfx::Size tileSize(50, 50);
gfx::Size layerSize(250, 250);
« no previous file with comments | « cc/tiled_layer_impl.cc ('k') | cc/tiled_layer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698