| Index: gpu/command_buffer/service/program_manager_unittest.cc
|
| ===================================================================
|
| --- gpu/command_buffer/service/program_manager_unittest.cc (revision 79346)
|
| +++ gpu/command_buffer/service/program_manager_unittest.cc (working copy)
|
| @@ -1,4 +1,4 @@
|
| -// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| @@ -86,6 +86,27 @@
|
| ASSERT_TRUE(info1 == NULL);
|
| }
|
|
|
| +TEST_F(ProgramManagerTest, DeleteBug) {
|
| + ShaderManager shader_manager;
|
| + const GLuint kClient1Id = 1;
|
| + const GLuint kClient2Id = 2;
|
| + const GLuint kService1Id = 11;
|
| + const GLuint kService2Id = 12;
|
| + // Check we can create program.
|
| + manager_.CreateProgramInfo(kClient1Id, kService1Id);
|
| + manager_.CreateProgramInfo(kClient2Id, kService2Id);
|
| + // Check program got created.
|
| + ProgramManager::ProgramInfo::Ref info1(manager_.GetProgramInfo(kClient1Id));
|
| + ProgramManager::ProgramInfo::Ref info2(manager_.GetProgramInfo(kClient2Id));
|
| + ASSERT_TRUE(info1.get() != NULL);
|
| + ASSERT_TRUE(info2.get() != NULL);
|
| + manager_.UseProgram(info1);
|
| + manager_.MarkAsDeleted(&shader_manager, info1);
|
| + manager_.MarkAsDeleted(&shader_manager, info2);
|
| + EXPECT_TRUE(manager_.IsOwned(info1));
|
| + EXPECT_FALSE(manager_.IsOwned(info2));
|
| +}
|
| +
|
| TEST_F(ProgramManagerTest, ProgramInfo) {
|
| const GLuint kClient1Id = 1;
|
| const GLuint kService1Id = 11;
|
|
|