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

Side by Side Diff: cc/output/gl_renderer_unittest.cc

Issue 46163003: Consolidate test contexts and remove unused ones (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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/cc_tests.gyp ('k') | cc/test/fake_web_graphics_context_3d_unittest.cc » ('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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/gl_renderer.h" 5 #include "cc/output/gl_renderer.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "cc/base/math_util.h" 9 #include "cc/base/math_util.h"
10 #include "cc/output/compositor_frame_metadata.h" 10 #include "cc/output/compositor_frame_metadata.h"
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 FakeRendererClient renderer_client_; 239 FakeRendererClient renderer_client_;
240 scoped_ptr<ResourceProvider> resource_provider_; 240 scoped_ptr<ResourceProvider> resource_provider_;
241 scoped_ptr<FakeRendererGL> renderer_; 241 scoped_ptr<FakeRendererGL> renderer_;
242 }; 242 };
243 243
244 // Closing the namespace here so that GLRendererShaderTest can take advantage 244 // Closing the namespace here so that GLRendererShaderTest can take advantage
245 // of the friend relationship with GLRenderer and all of the mock classes 245 // of the friend relationship with GLRenderer and all of the mock classes
246 // declared above it. 246 // declared above it.
247 } // namespace 247 } // namespace
248 248
249
250 // Gives unique shader ids and unique program ids for tests that need them.
251 class ShaderCreatorMockGraphicsContext : public TestWebGraphicsContext3D {
252 public:
253 ShaderCreatorMockGraphicsContext()
254 : next_program_id_number_(10000),
255 next_shader_id_number_(1) {}
256
257 bool hasShader(WebGLId shader) {
258 return shader_set_.find(shader) != shader_set_.end();
259 }
260
261 bool hasProgram(WebGLId program) {
262 return program_set_.find(program) != program_set_.end();
263 }
264
265 virtual WebGLId createProgram() {
266 unsigned program = next_program_id_number_;
267 program_set_.insert(program);
268 next_program_id_number_++;
269 return program;
270 }
271
272 virtual void deleteProgram(WebGLId program) {
273 ASSERT_TRUE(hasProgram(program));
274 program_set_.erase(program);
275 }
276
277 virtual void useProgram(WebGLId program) {
278 if (!program)
279 return;
280 ASSERT_TRUE(hasProgram(program));
281 }
282
283 virtual WebKit::WebGLId createShader(WebKit::WGC3Denum) {
284 unsigned shader = next_shader_id_number_;
285 shader_set_.insert(shader);
286 next_shader_id_number_++;
287 return shader;
288 }
289
290 virtual void deleteShader(WebKit::WebGLId shader) {
291 ASSERT_TRUE(hasShader(shader));
292 shader_set_.erase(shader);
293 }
294
295 virtual void attachShader(WebGLId program, WebGLId shader) {
296 ASSERT_TRUE(hasProgram(program));
297 ASSERT_TRUE(hasShader(shader));
298 }
299
300 protected:
301 unsigned next_program_id_number_;
302 unsigned next_shader_id_number_;
303 std::set<unsigned> program_set_;
304 std::set<unsigned> shader_set_;
305 };
306
307 class GLRendererShaderTest : public testing::Test { 249 class GLRendererShaderTest : public testing::Test {
308 protected: 250 protected:
309 GLRendererShaderTest() { 251 GLRendererShaderTest() {
310 output_surface_ = FakeOutputSurface::Create3d( 252 output_surface_ = FakeOutputSurface::Create3d().Pass();
311 scoped_ptr<TestWebGraphicsContext3D>(
312 new ShaderCreatorMockGraphicsContext())).Pass();
313 CHECK(output_surface_->BindToClient(&output_surface_client_)); 253 CHECK(output_surface_->BindToClient(&output_surface_client_));
314 254
315 resource_provider_ = ResourceProvider::Create( 255 resource_provider_ = ResourceProvider::Create(
316 output_surface_.get(), NULL, 0, false, 1).Pass(); 256 output_surface_.get(), NULL, 0, false, 1).Pass();
317 renderer_.reset(new FakeRendererGL(&renderer_client_, 257 renderer_.reset(new FakeRendererGL(&renderer_client_,
318 &settings_, 258 &settings_,
319 output_surface_.get(), 259 output_surface_.get(),
320 resource_provider_.get())); 260 resource_provider_.get()));
321 renderer_->Initialize(); 261 renderer_->Initialize();
322 } 262 }
(...skipping 1522 matching lines...) Expand 10 before | Expand all | Expand 10 after
1845 base::MessageLoop::current()->Run(); 1785 base::MessageLoop::current()->Run();
1846 1786
1847 // The sync point should have happened. 1787 // The sync point should have happened.
1848 EXPECT_EQ(1, sync_point_callback_count); 1788 EXPECT_EQ(1, sync_point_callback_count);
1849 EXPECT_EQ(1, other_callback_count); 1789 EXPECT_EQ(1, other_callback_count);
1850 } 1790 }
1851 #endif // OS_ANDROID 1791 #endif // OS_ANDROID
1852 1792
1853 } // namespace 1793 } // namespace
1854 } // namespace cc 1794 } // namespace cc
OLDNEW
« no previous file with comments | « cc/cc_tests.gyp ('k') | cc/test/fake_web_graphics_context_3d_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698