| Index: gpu/command_buffer/service/vertex_attrib_manager_unittest.cc
|
| diff --git a/gpu/command_buffer/service/vertex_attrib_manager_unittest.cc b/gpu/command_buffer/service/vertex_attrib_manager_unittest.cc
|
| index 49c18838591036fa05ce7c4123b2ae827b551f5e..ab51f83adbacd70caa37a56570b7fc56ae58c2de 100644
|
| --- a/gpu/command_buffer/service/vertex_attrib_manager_unittest.cc
|
| +++ b/gpu/command_buffer/service/vertex_attrib_manager_unittest.cc
|
| @@ -174,6 +174,40 @@ TEST_F(VertexAttribManagerTest, CanAccess) {
|
| buffer_manager.Destroy(false);
|
| }
|
|
|
| +TEST_F(VertexAttribManagerTest, Unbind) {
|
| + BufferManager buffer_manager;
|
| + buffer_manager.CreateBufferInfo(1, 2);
|
| + buffer_manager.CreateBufferInfo(3, 4);
|
| + BufferManager::BufferInfo* buffer1 = buffer_manager.GetBufferInfo(1);
|
| + BufferManager::BufferInfo* buffer2 = buffer_manager.GetBufferInfo(3);
|
| + ASSERT_TRUE(buffer1 != NULL);
|
| + ASSERT_TRUE(buffer2 != NULL);
|
| +
|
| + VertexAttribManager::VertexAttribInfo* info1 =
|
| + manager_.GetVertexAttribInfo(1);
|
| + VertexAttribManager::VertexAttribInfo* info3 =
|
| + manager_.GetVertexAttribInfo(3);
|
| +
|
| + // Attach to 2 buffers.
|
| + manager_.SetAttribInfo(1, buffer1, 3, GL_SHORT, GL_TRUE, 32, 32, 4);
|
| + manager_.SetAttribInfo(3, buffer1, 3, GL_SHORT, GL_TRUE, 32, 32, 4);
|
| + // Check they were attached.
|
| + EXPECT_EQ(buffer1, info1->buffer());
|
| + EXPECT_EQ(buffer1, info3->buffer());
|
| + // Unbind unattached buffer.
|
| + manager_.Unbind(buffer2);
|
| + // Should be no-op.
|
| + EXPECT_EQ(buffer1, info1->buffer());
|
| + EXPECT_EQ(buffer1, info3->buffer());
|
| + // Unbind buffer.
|
| + manager_.Unbind(buffer1);
|
| + // Check they were detached
|
| + EXPECT_TRUE(NULL == info1->buffer());
|
| + EXPECT_TRUE(NULL == info3->buffer());
|
| +
|
| + buffer_manager.Destroy(false);
|
| +}
|
| +
|
| } // namespace gles2
|
| } // namespace gpu
|
|
|
|
|