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 4218d504c688bfe925b2cc7d17500f00ba0083ff..f5f620655fb91adcc9510da5e1627cdcc45b7c10 100644 |
--- a/gpu/command_buffer/service/shader_manager_unittest.cc |
+++ b/gpu/command_buffer/service/shader_manager_unittest.cc |
@@ -127,16 +127,30 @@ TEST_F(ShaderManagerTest, DoCompile) { |
EXPECT_FALSE(shader1->InUse()); |
EXPECT_TRUE(shader1->source().empty()); |
EXPECT_TRUE(shader1->log_info().empty()); |
- EXPECT_TRUE(shader1->signature_source().empty()); |
+ EXPECT_TRUE(shader1->last_compiled_source().empty()); |
EXPECT_TRUE(shader1->translated_source().empty()); |
EXPECT_EQ(0u, shader1->attrib_map().size()); |
EXPECT_EQ(0u, shader1->uniform_map().size()); |
EXPECT_EQ(0u, shader1->varying_map().size()); |
+ EXPECT_EQ(Shader::kShaderStateWaiting, shader1->shader_state()); |
// Check we can set its source. |
shader1->set_source(kClient1Source); |
EXPECT_STREQ(kClient1Source, shader1->source().c_str()); |
- EXPECT_TRUE(shader1->signature_source().empty()); |
+ EXPECT_TRUE(shader1->last_compiled_source().empty()); |
+ |
+ // Check that DoCompile() will not work if RequestCompile() was not called. |
+ MockShaderTranslator translator; |
+ shader1->DoCompile(&translator, Shader::kANGLE); |
+ EXPECT_EQ(Shader::kShaderStateWaiting, shader1->shader_state()); |
+ EXPECT_FALSE(shader1->valid()); |
+ |
+ // Check RequestCompile() will update the state and last compiled source, but |
+ // still keep the actual compile state invalid. |
+ shader1->RequestCompile(); |
+ EXPECT_EQ(Shader::kShaderStateCompileRequested, shader1->shader_state()); |
+ EXPECT_STREQ(kClient1Source, shader1->last_compiled_source().c_str()); |
+ EXPECT_FALSE(shader1->valid()); |
// Check DoCompile() will set compilation states, log, translated source, |
// shader variables, and name mapping. |
@@ -168,7 +182,7 @@ TEST_F(ShaderManagerTest, DoCompile) { |
EXPECT_TRUE(shader1->valid()); |
// When compilation succeeds, no log is recorded. |
EXPECT_STREQ("", shader1->log_info().c_str()); |
- EXPECT_STREQ(kClient1Source, shader1->signature_source().c_str()); |
+ EXPECT_STREQ(kClient1Source, shader1->last_compiled_source().c_str()); |
EXPECT_STREQ(kTranslatedSource.c_str(), shader1->translated_source().c_str()); |
// Check varying infos got copied. |