diff options
Diffstat (limited to 'gpu/command_buffer/service/shader_manager_unittest.cc')
-rw-r--r-- | gpu/command_buffer/service/shader_manager_unittest.cc | 38 |
1 files changed, 35 insertions, 3 deletions
diff --git a/gpu/command_buffer/service/shader_manager_unittest.cc b/gpu/command_buffer/service/shader_manager_unittest.cc index f927e26..fb1efe4 100644 --- a/gpu/command_buffer/service/shader_manager_unittest.cc +++ b/gpu/command_buffer/service/shader_manager_unittest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 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. @@ -245,7 +245,39 @@ TEST_F(ShaderManagerTest, ShaderInfoUseCount) { EXPECT_TRUE(info2 == NULL); } -} // namespace gles2 -} // namespace gpu +TEST_F(ShaderManagerTest, ShaderInfoStoreCompilationStatus) { + const GLuint kClientId = 1; + const GLuint kServiceId = 11; + const GLenum kShaderType = GL_VERTEX_SHADER; + ShaderManager::ShaderInfo* info = manager_.CreateShaderInfo( + kClientId, kServiceId, kShaderType); + ASSERT_TRUE(info != NULL); + + info->UpdateSource("original source"); + info->FlagSourceAsCompiled(false); + EXPECT_FALSE(info->source_compiled()); + info->FlagSourceAsCompiled(true); + EXPECT_TRUE(info->source_compiled()); +} + +TEST_F(ShaderManagerTest, ShaderInfoStoreDeferredSource) { + const GLuint kClientId = 1; + const GLuint kServiceId = 11; + const GLenum kShaderType = GL_VERTEX_SHADER; + ShaderManager::ShaderInfo* info = manager_.CreateShaderInfo( + kClientId, kServiceId, kShaderType); + ASSERT_TRUE(info != NULL); + + info->UpdateSource("original source"); + info->FlagSourceAsCompiled(false); + + EXPECT_EQ("original source", *info->deferred_compilation_source()); + info->UpdateSource("different!"); + EXPECT_EQ("original source", *info->deferred_compilation_source()); + info->FlagSourceAsCompiled(true); + EXPECT_EQ("different!", *info->deferred_compilation_source()); +} +} // namespace gles2 +} // namespace gpu |