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

Side by Side Diff: cc/surfaces/surface_aggregator_unittest.cc

Issue 331533002: Use a struct for cc::Surface ids for more type safety (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: add is_null and explicit ctor Created 6 years, 6 months 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/surfaces/surface_aggregator_test_helpers.cc ('k') | cc/surfaces/surface_id.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/output/compositor_frame.h" 5 #include "cc/output/compositor_frame.h"
6 #include "cc/output/delegated_frame_data.h" 6 #include "cc/output/delegated_frame_data.h"
7 #include "cc/quads/render_pass.h" 7 #include "cc/quads/render_pass.h"
8 #include "cc/quads/render_pass_draw_quad.h" 8 #include "cc/quads/render_pass_draw_quad.h"
9 #include "cc/quads/solid_color_draw_quad.h" 9 #include "cc/quads/solid_color_draw_quad.h"
10 #include "cc/quads/surface_draw_quad.h" 10 #include "cc/quads/surface_draw_quad.h"
11 #include "cc/surfaces/surface.h" 11 #include "cc/surfaces/surface.h"
12 #include "cc/surfaces/surface_aggregator.h" 12 #include "cc/surfaces/surface_aggregator.h"
13 #include "cc/surfaces/surface_aggregator_test_helpers.h" 13 #include "cc/surfaces/surface_aggregator_test_helpers.h"
14 #include "cc/surfaces/surface_manager.h" 14 #include "cc/surfaces/surface_manager.h"
15 #include "cc/test/render_pass_test_common.h" 15 #include "cc/test/render_pass_test_common.h"
16 #include "cc/test/render_pass_test_utils.h" 16 #include "cc/test/render_pass_test_utils.h"
17 #include "testing/gtest/include/gtest/gtest.h" 17 #include "testing/gtest/include/gtest/gtest.h"
18 #include "third_party/skia/include/core/SkColor.h" 18 #include "third_party/skia/include/core/SkColor.h"
19 19
20 namespace cc { 20 namespace cc {
21 namespace { 21 namespace {
22 const int kInvalidSurfaceId = -1; 22
23 SurfaceId InvalidSurfaceId() {
24 static SurfaceId invalid;
25 invalid.id = -1;
26 return invalid;
27 }
23 28
24 class SurfaceAggregatorTest : public testing::Test { 29 class SurfaceAggregatorTest : public testing::Test {
25 public: 30 public:
26 SurfaceAggregatorTest() : aggregator_(&manager_) {} 31 SurfaceAggregatorTest() : aggregator_(&manager_) {}
27 32
28 protected: 33 protected:
29 SurfaceManager manager_; 34 SurfaceManager manager_;
30 SurfaceAggregator aggregator_; 35 SurfaceAggregator aggregator_;
31 }; 36 };
32 37
33 TEST_F(SurfaceAggregatorTest, InvalidSurfaceId) { 38 TEST_F(SurfaceAggregatorTest, InvalidSurfaceId) {
34 scoped_ptr<CompositorFrame> frame = aggregator_.Aggregate(kInvalidSurfaceId); 39 scoped_ptr<CompositorFrame> frame = aggregator_.Aggregate(InvalidSurfaceId());
35 EXPECT_FALSE(frame); 40 EXPECT_FALSE(frame);
36 } 41 }
37 42
38 TEST_F(SurfaceAggregatorTest, ValidSurfaceNoFrame) { 43 TEST_F(SurfaceAggregatorTest, ValidSurfaceNoFrame) {
39 Surface one(&manager_, NULL, gfx::Size(5, 5)); 44 Surface one(&manager_, NULL, gfx::Size(5, 5));
40 scoped_ptr<CompositorFrame> frame = aggregator_.Aggregate(one.surface_id()); 45 scoped_ptr<CompositorFrame> frame = aggregator_.Aggregate(one.surface_id());
41 EXPECT_FALSE(frame); 46 EXPECT_FALSE(frame);
42 } 47 }
43 48
44 class SurfaceAggregatorValidSurfaceTest : public SurfaceAggregatorTest { 49 class SurfaceAggregatorValidSurfaceTest : public SurfaceAggregatorTest {
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 RenderPassDrawQuad::MaterialCast(fifth_pass_quad_list.at(1u)); 256 RenderPassDrawQuad::MaterialCast(fifth_pass_quad_list.at(1u));
252 EXPECT_EQ(actual_pass_ids[3], 257 EXPECT_EQ(actual_pass_ids[3],
253 fifth_pass_render_pass_draw_quad->render_pass_id); 258 fifth_pass_render_pass_draw_quad->render_pass_id);
254 } 259 }
255 } 260 }
256 261
257 // Tests an invalid surface reference in a frame. The surface quad should just 262 // Tests an invalid surface reference in a frame. The surface quad should just
258 // be dropped. 263 // be dropped.
259 TEST_F(SurfaceAggregatorValidSurfaceTest, InvalidSurfaceReference) { 264 TEST_F(SurfaceAggregatorValidSurfaceTest, InvalidSurfaceReference) {
260 test::Quad quads[] = {test::Quad::SolidColorQuad(SK_ColorGREEN), 265 test::Quad quads[] = {test::Quad::SolidColorQuad(SK_ColorGREEN),
261 test::Quad::SurfaceQuad(kInvalidSurfaceId), 266 test::Quad::SurfaceQuad(InvalidSurfaceId()),
262 test::Quad::SolidColorQuad(SK_ColorBLUE)}; 267 test::Quad::SolidColorQuad(SK_ColorBLUE)};
263 test::Pass passes[] = {test::Pass(quads, arraysize(quads))}; 268 test::Pass passes[] = {test::Pass(quads, arraysize(quads))};
264 269
265 SubmitFrame(passes, arraysize(passes), &root_surface_); 270 SubmitFrame(passes, arraysize(passes), &root_surface_);
266 271
267 test::Quad expected_quads[] = {test::Quad::SolidColorQuad(SK_ColorGREEN), 272 test::Quad expected_quads[] = {test::Quad::SolidColorQuad(SK_ColorGREEN),
268 test::Quad::SolidColorQuad(SK_ColorBLUE)}; 273 test::Quad::SolidColorQuad(SK_ColorBLUE)};
269 test::Pass expected_passes[] = { 274 test::Pass expected_passes[] = {
270 test::Pass(expected_quads, arraysize(expected_quads))}; 275 test::Pass(expected_quads, arraysize(expected_quads))};
271 AggregateAndVerify(expected_passes, arraysize(expected_passes)); 276 AggregateAndVerify(expected_passes, arraysize(expected_passes));
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
693 DrawQuad* quad = aggregated_pass_list[1]->quad_list.at(i); 698 DrawQuad* quad = aggregated_pass_list[1]->quad_list.at(i);
694 EXPECT_EQ(expected_root_pass_quad_transforms[i].ToString(), 699 EXPECT_EQ(expected_root_pass_quad_transforms[i].ToString(),
695 quad->quadTransform().ToString()) 700 quad->quadTransform().ToString())
696 << i; 701 << i;
697 } 702 }
698 } 703 }
699 704
700 } // namespace 705 } // namespace
701 } // namespace cc 706 } // namespace cc
702 707
OLDNEW
« no previous file with comments | « cc/surfaces/surface_aggregator_test_helpers.cc ('k') | cc/surfaces/surface_id.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698