Index: gpu/command_buffer/service/shader_manager_unittest.cc |
diff --git a/gpu/command_buffer/service/shader_manager_unittest.cc b/gpu/command_buffer/service/shader_manager_unittest.cc |
index f927e269790382c6dbda7a21bd66f3572f036c65..3dfd624a881b03aacfd6f507d63b09307b80de48 100644 |
--- a/gpu/command_buffer/service/shader_manager_unittest.cc |
+++ b/gpu/command_buffer/service/shader_manager_unittest.cc |
@@ -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 |