Chromium Code Reviews| Index: cc/layers/scrollbar_layer_unittest.cc |
| diff --git a/cc/layers/scrollbar_layer_unittest.cc b/cc/layers/scrollbar_layer_unittest.cc |
| index 7b5eb9eac8fe5fab6152e0db21f114e932e593fe..bcec55ac145bf6bd931ec92dd28e9574efc8c168 100644 |
| --- a/cc/layers/scrollbar_layer_unittest.cc |
| +++ b/cc/layers/scrollbar_layer_unittest.cc |
| @@ -274,7 +274,7 @@ TEST(ScrollbarLayerTest, ThumbRect) { |
| TEST(ScrollbarLayerTest, SolidColorDrawQuads) { |
| const int kThumbThickness = 3; |
| - const int kTrackStart = 0; |
| + const int kTrackStart = 1; |
|
weiliangc
2014/07/22 18:49:46
I don't understand why we need to change TrackStar
Ian Vollick
2014/07/22 18:55:00
It's a good question. I did this so that I can mor
weiliangc
2014/07/22 19:00:12
Ah didn't realize the first test case has 40->39 a
|
| const int kTrackLength = 100; |
| LayerTreeSettings layer_tree_settings; |
| @@ -303,7 +303,7 @@ TEST(ScrollbarLayerTest, SolidColorDrawQuads) { |
| const QuadList& quads = render_pass->quad_list; |
| ASSERT_EQ(1u, quads.size()); |
| EXPECT_EQ(DrawQuad::SOLID_COLOR, quads[0]->material); |
| - EXPECT_RECT_EQ(gfx::Rect(6, 0, 40, 3), quads[0]->rect); |
| + EXPECT_RECT_EQ(gfx::Rect(6, 0, 39, 3), quads[0]->rect); |
| } |
| // Contents scale should scale the draw quad. |
| @@ -319,7 +319,7 @@ TEST(ScrollbarLayerTest, SolidColorDrawQuads) { |
| const QuadList& quads = render_pass->quad_list; |
| ASSERT_EQ(1u, quads.size()); |
| EXPECT_EQ(DrawQuad::SOLID_COLOR, quads[0]->material); |
| - EXPECT_RECT_EQ(gfx::Rect(12, 0, 80, 6), quads[0]->rect); |
| + EXPECT_RECT_EQ(gfx::Rect(12, 0, 78, 6), quads[0]->rect); |
| } |
| scrollbar_layer_impl->draw_properties().contents_scale_x = 1.f; |
| scrollbar_layer_impl->draw_properties().contents_scale_y = 1.f; |
| @@ -337,7 +337,23 @@ TEST(ScrollbarLayerTest, SolidColorDrawQuads) { |
| const QuadList& quads = render_pass->quad_list; |
| ASSERT_EQ(1u, quads.size()); |
| EXPECT_EQ(DrawQuad::SOLID_COLOR, quads[0]->material); |
| - EXPECT_RECT_EQ(gfx::Rect(8, 0, 20, 3), quads[0]->rect); |
| + EXPECT_RECT_EQ(gfx::Rect(8, 0, 19, 3), quads[0]->rect); |
| + } |
| + |
| + // We shouldn't attempt div-by-zero when the maximum is zero. |
| + scrollbar_layer_impl->SetCurrentPos(0.f); |
| + scrollbar_layer_impl->SetMaximum(0); |
| + { |
| + MockOcclusionTracker<LayerImpl> occlusion_tracker; |
| + scoped_ptr<RenderPass> render_pass = RenderPass::Create(); |
| + AppendQuadsData data; |
| + scrollbar_layer_impl->AppendQuads( |
| + render_pass.get(), occlusion_tracker, &data); |
| + |
| + const QuadList& quads = render_pass->quad_list; |
| + ASSERT_EQ(1u, quads.size()); |
| + EXPECT_EQ(DrawQuad::SOLID_COLOR, quads[0]->material); |
| + EXPECT_RECT_EQ(gfx::Rect(1, 0, 19, 3), quads[0]->rect); |
| } |
| } |