| Index: gpu/command_buffer/service/cmd_parser_test.cc
 | 
| ===================================================================
 | 
| --- gpu/command_buffer/service/cmd_parser_test.cc	(revision 93137)
 | 
| +++ gpu/command_buffer/service/cmd_parser_test.cc	(working copy)
 | 
| @@ -288,4 +288,28 @@
 | 
|    Mock::VerifyAndClearExpectations(api_mock());
 | 
|  }
 | 
|  
 | 
| +TEST_F(CommandParserTest, TestWaiting) {
 | 
| +  const unsigned int kNumEntries = 5;
 | 
| +  scoped_ptr<CommandParser> parser(MakeParser(kNumEntries));
 | 
| +  CommandBufferOffset put = parser->put();
 | 
| +  CommandHeader header;
 | 
| +
 | 
| +  // Generate a command with size 1.
 | 
| +  header.size = 1;
 | 
| +  header.command = 3;
 | 
| +  buffer()[put++].value_header = header;
 | 
| +
 | 
| +  parser->set_put(put);
 | 
| +  // A command that returns kWaiting should not advance the get pointer.
 | 
| +  AddDoCommandExpect(error::kWaiting, 3, 0, NULL);
 | 
| +  EXPECT_EQ(error::kWaiting, parser->ProcessAllCommands());
 | 
| +  EXPECT_EQ(0, parser->get());
 | 
| +  Mock::VerifyAndClearExpectations(api_mock());
 | 
| +  // Not waiting should advance the get pointer.
 | 
| +  AddDoCommandExpect(error::kNoError, 3, 0, NULL);
 | 
| +  EXPECT_EQ(error::kNoError, parser->ProcessAllCommands());
 | 
| +  EXPECT_EQ(put, parser->get());
 | 
| +  Mock::VerifyAndClearExpectations(api_mock());
 | 
| +}
 | 
| +
 | 
|  }  // namespace gpu
 | 
| 
 |