diff options
Diffstat (limited to 'cc/picture_layer_tiling_set_unittest.cc')
-rw-r--r-- | cc/picture_layer_tiling_set_unittest.cc | 57 |
1 files changed, 42 insertions, 15 deletions
diff --git a/cc/picture_layer_tiling_set_unittest.cc b/cc/picture_layer_tiling_set_unittest.cc index c1534fb..707180c 100644 --- a/cc/picture_layer_tiling_set_unittest.cc +++ b/cc/picture_layer_tiling_set_unittest.cc @@ -52,7 +52,12 @@ TEST(PictureLayerTilingSetTest, NoResources) { class PictureLayerTilingSetTestWithResources : public testing::Test { public: - void runTest(int num_tilings, float min_scale, float scale_increment) { + void runTest( + int num_tilings, + float min_scale, + float scale_increment, + float ideal_contents_scale, + float expected_scale) { scoped_ptr<FakeOutputSurface> output_surface = FakeOutputSurface::Create3d(); scoped_ptr<ResourceProvider> resource_provider = @@ -65,11 +70,6 @@ class PictureLayerTilingSetTestWithResources : public testing::Test { gfx::Size layer_bounds(1000, 800); set.SetLayerBounds(layer_bounds); - float contents_scale = 2.f; - gfx::Size content_bounds( - gfx::ToCeiledSize(gfx::ScaleSize(layer_bounds, contents_scale))); - gfx::Rect content_rect(gfx::Point(), content_bounds); - float scale = min_scale; for (int i = 0; i < num_tilings; ++i, scale += scale_increment) { PictureLayerTiling* tiling = set.AddTiling(scale, default_tile_size); @@ -85,18 +85,26 @@ class PictureLayerTilingSetTestWithResources : public testing::Test { } } + float max_contents_scale = scale; + gfx::Size content_bounds( + gfx::ToCeiledSize(gfx::ScaleSize(layer_bounds, max_contents_scale))); + gfx::Rect content_rect(gfx::Point(), content_bounds); + Region remaining(content_rect); PictureLayerTilingSet::Iterator iter( &set, - contents_scale, + max_contents_scale, content_rect, - contents_scale); + ideal_contents_scale); for (; iter; ++iter) { gfx::Rect geometry_rect = iter.geometry_rect(); EXPECT_TRUE(content_rect.Contains(geometry_rect)); ASSERT_TRUE(remaining.Contains(geometry_rect)); remaining.Subtract(geometry_rect); + float scale = iter.CurrentTiling()->contents_scale(); + EXPECT_EQ(expected_scale, scale); + if (num_tilings) EXPECT_TRUE(*iter); else @@ -107,17 +115,36 @@ class PictureLayerTilingSetTestWithResources : public testing::Test { }; TEST_F(PictureLayerTilingSetTestWithResources, NoTilings) { - runTest(0, 0.f, 0.f); + runTest(0, 0.f, 0.f, 2.f, 0.f); +} +TEST_F(PictureLayerTilingSetTestWithResources, OneTiling_Smaller) { + runTest(1, 1.f, 0.f, 2.f, 1.f); } -TEST_F(PictureLayerTilingSetTestWithResources, OneTiling) { - runTest(1, 1.f, 0.f); +TEST_F(PictureLayerTilingSetTestWithResources, OneTiling_Larger) { + runTest(1, 3.f, 0.f, 2.f, 3.f); } -TEST_F(PictureLayerTilingSetTestWithResources, TwoTilings) { - runTest(2, 1.f, 1.f); +TEST_F(PictureLayerTilingSetTestWithResources, TwoTilings_Smaller) { + runTest(2, 1.f, 1.f, 3.f, 2.f); +} + +TEST_F(PictureLayerTilingSetTestWithResources, TwoTilings_SmallerEqual) { + runTest(2, 1.f, 1.f, 2.f, 2.f); +} + +TEST_F(PictureLayerTilingSetTestWithResources, TwoTilings_LargerEqual) { + runTest(2, 1.f, 1.f, 1.f, 1.f); +} + +TEST_F(PictureLayerTilingSetTestWithResources, TwoTilings_Larger) { + runTest(2, 2.f, 8.f, 1.f, 2.f); +} + +TEST_F(PictureLayerTilingSetTestWithResources, ManyTilings_Equal) { + runTest(10, 1.f, 1.f, 5.f, 5.f); } -TEST_F(PictureLayerTilingSetTestWithResources, ManyTilings) { - runTest(10, 1.f, 1.f); +TEST_F(PictureLayerTilingSetTestWithResources, ManyTilings_NotEqual) { + runTest(10, 1.f, 1.f, 4.5f, 5.f); } } // namespace |