summaryrefslogtreecommitdiffstats
path: root/cc/picture_layer_tiling_set_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'cc/picture_layer_tiling_set_unittest.cc')
-rw-r--r--cc/picture_layer_tiling_set_unittest.cc57
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