| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2009, Google Inc. | 2 * Copyright 2009, Google Inc. |
| 3 * All rights reserved. | 3 * All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
| 7 * met: | 7 * met: |
| 8 * | 8 * |
| 9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
| 10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 CommandHeader header; | 148 CommandHeader header; |
| 149 | 149 |
| 150 // add 2 commands, test with single ProcessCommand() | 150 // add 2 commands, test with single ProcessCommand() |
| 151 header.size = 2; | 151 header.size = 2; |
| 152 header.command = 789; | 152 header.command = 789; |
| 153 buffer()[put++].value_header = header; | 153 buffer()[put++].value_header = header; |
| 154 buffer()[put++].value_int32 = 5151; | 154 buffer()[put++].value_int32 = 5151; |
| 155 | 155 |
| 156 CommandBufferOffset put_cmd2 = put; | 156 CommandBufferOffset put_cmd2 = put; |
| 157 header.size = 2; | 157 header.size = 2; |
| 158 header.command = 2121; | 158 header.command = 876; |
| 159 buffer()[put++].value_header = header; | 159 buffer()[put++].value_header = header; |
| 160 buffer()[put++].value_int32 = 3434; | 160 buffer()[put++].value_int32 = 3434; |
| 161 | 161 |
| 162 parser->set_put(put); | 162 parser->set_put(put); |
| 163 EXPECT_EQ(put, parser->put()); | 163 EXPECT_EQ(put, parser->put()); |
| 164 | 164 |
| 165 CommandBufferEntry param_array[2]; | 165 CommandBufferEntry param_array[2]; |
| 166 param_array[0].value_int32 = 5151; | 166 param_array[0].value_int32 = 5151; |
| 167 AddDoCommandExpect(parse_error::kParseNoError, 789, 1, param_array); | 167 AddDoCommandExpect(parse_error::kParseNoError, 789, 1, param_array); |
| 168 param_array[1].value_int32 = 3434; | 168 param_array[1].value_int32 = 3434; |
| 169 AddDoCommandExpect(parse_error::kParseNoError, 2121, 1, | 169 AddDoCommandExpect(parse_error::kParseNoError, 876, 1, |
| 170 param_array+1); | 170 param_array+1); |
| 171 | 171 |
| 172 EXPECT_EQ(parse_error::kParseNoError, parser->ProcessCommand()); | 172 EXPECT_EQ(parse_error::kParseNoError, parser->ProcessCommand()); |
| 173 EXPECT_EQ(put_cmd2, parser->get()); | 173 EXPECT_EQ(put_cmd2, parser->get()); |
| 174 EXPECT_EQ(parse_error::kParseNoError, parser->ProcessCommand()); | 174 EXPECT_EQ(parse_error::kParseNoError, parser->ProcessCommand()); |
| 175 EXPECT_EQ(put, parser->get()); | 175 EXPECT_EQ(put, parser->get()); |
| 176 Mock::VerifyAndClearExpectations(api_mock()); | 176 Mock::VerifyAndClearExpectations(api_mock()); |
| 177 | 177 |
| 178 // add 2 commands again, test with ProcessAllCommands() | 178 // add 2 commands again, test with ProcessAllCommands() |
| 179 header.size = 2; | 179 header.size = 2; |
| 180 header.command = 4545; | 180 header.command = 123; |
| 181 buffer()[put++].value_header = header; | 181 buffer()[put++].value_header = header; |
| 182 buffer()[put++].value_int32 = 5656; | 182 buffer()[put++].value_int32 = 5656; |
| 183 | 183 |
| 184 header.size = 2; | 184 header.size = 2; |
| 185 header.command = 6767; | 185 header.command = 321; |
| 186 buffer()[put++].value_header = header; | 186 buffer()[put++].value_header = header; |
| 187 buffer()[put++].value_int32 = 7878; | 187 buffer()[put++].value_int32 = 7878; |
| 188 | 188 |
| 189 parser->set_put(put); | 189 parser->set_put(put); |
| 190 EXPECT_EQ(put, parser->put()); | 190 EXPECT_EQ(put, parser->put()); |
| 191 | 191 |
| 192 param_array[0].value_int32 = 5656; | 192 param_array[0].value_int32 = 5656; |
| 193 AddDoCommandExpect(parse_error::kParseNoError, 4545, 1, param_array); | 193 AddDoCommandExpect(parse_error::kParseNoError, 123, 1, param_array); |
| 194 param_array[1].value_int32 = 7878; | 194 param_array[1].value_int32 = 7878; |
| 195 AddDoCommandExpect(parse_error::kParseNoError, 6767, 1, | 195 AddDoCommandExpect(parse_error::kParseNoError, 321, 1, |
| 196 param_array+1); | 196 param_array+1); |
| 197 | 197 |
| 198 EXPECT_EQ(parse_error::kParseNoError, parser->ProcessAllCommands()); | 198 EXPECT_EQ(parse_error::kParseNoError, parser->ProcessAllCommands()); |
| 199 EXPECT_EQ(put, parser->get()); | 199 EXPECT_EQ(put, parser->get()); |
| 200 Mock::VerifyAndClearExpectations(api_mock()); | 200 Mock::VerifyAndClearExpectations(api_mock()); |
| 201 } | 201 } |
| 202 | 202 |
| 203 // Tests that the parser will wrap correctly at the end of the buffer. | 203 // Tests that the parser will wrap correctly at the end of the buffer. |
| 204 TEST_F(CommandParserTest, TestWrap) { | 204 TEST_F(CommandParserTest, TestWrap) { |
| 205 scoped_ptr<CommandParser> parser(MakeParser(5)); | 205 scoped_ptr<CommandParser> parser(MakeParser(5)); |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 307 EXPECT_EQ(put_post_fail, parser->get()); | 307 EXPECT_EQ(put_post_fail, parser->get()); |
| 308 Mock::VerifyAndClearExpectations(api_mock()); | 308 Mock::VerifyAndClearExpectations(api_mock()); |
| 309 // make the second one succeed, and check that the parser recovered fine. | 309 // make the second one succeed, and check that the parser recovered fine. |
| 310 AddDoCommandExpect(parse_error::kParseNoError, 4, 0, NULL); | 310 AddDoCommandExpect(parse_error::kParseNoError, 4, 0, NULL); |
| 311 EXPECT_EQ(parse_error::kParseNoError, parser->ProcessAllCommands()); | 311 EXPECT_EQ(parse_error::kParseNoError, parser->ProcessAllCommands()); |
| 312 EXPECT_EQ(put, parser->get()); | 312 EXPECT_EQ(put, parser->get()); |
| 313 Mock::VerifyAndClearExpectations(api_mock()); | 313 Mock::VerifyAndClearExpectations(api_mock()); |
| 314 } | 314 } |
| 315 | 315 |
| 316 } // namespace command_buffer | 316 } // namespace command_buffer |
| OLD | NEW |