| Index: gpu/command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h
|
| diff --git a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h
|
| index 8670cbc31a6523eed8b1fb968f9148a2faa311bc..a5831d6c8df847ed317f8d919908d90ef4353000 100644
|
| --- a/gpu/command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h
|
| +++ b/gpu/command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h
|
| @@ -12,6 +12,8 @@
|
| #ifndef GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_
|
| #define GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_
|
|
|
| +// TODO(gman): GetUniformLocation
|
| +
|
| TEST_P(GLES2DecoderTest2, GetVertexAttribfvValidArgs) {
|
| SpecializedSetup<cmds::GetVertexAttribfv, 0>(true);
|
| typedef cmds::GetVertexAttribfv::Result Result;
|
| @@ -540,7 +542,70 @@ TEST_P(GLES2DecoderTest2, ScissorInvalidArgs3_0) {
|
| }
|
| // TODO(gman): ShaderBinary
|
|
|
| -// TODO(gman): ShaderSourceBucket
|
| +TEST_P(GLES2DecoderTest2, ShaderSourceBucketValidArgs) {
|
| + const uint32 kBucketId = 123;
|
| + const char kSource0[] = "hello";
|
| + const char* kSource[] = {kSource0};
|
| + const char kValidStrEnd = 0;
|
| + SetBucketAsCStrings(kBucketId, 1, kSource, 1, kValidStrEnd);
|
| + cmds::ShaderSourceBucket cmd;
|
| + cmd.Init(client_shader_id_, kBucketId);
|
| + decoder_->set_unsafe_es3_apis_enabled(true);
|
| + EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
|
| +}
|
| +
|
| +TEST_P(GLES2DecoderTest2, ShaderSourceBucketInvalidArgs) {
|
| + const uint32 kBucketId = 123;
|
| + const char kSource0[] = "hello";
|
| + const char* kSource[] = {kSource0};
|
| + const char kValidStrEnd = 0;
|
| + decoder_->set_unsafe_es3_apis_enabled(true);
|
| + cmds::ShaderSourceBucket cmd;
|
| + // Test no bucket.
|
| + cmd.Init(client_shader_id_, kBucketId);
|
| + EXPECT_NE(error::kNoError, ExecuteCmd(cmd));
|
| + // Test invalid client.
|
| + SetBucketAsCStrings(kBucketId, 1, kSource, 1, kValidStrEnd);
|
| + cmd.Init(kInvalidClientId, kBucketId);
|
| + EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
|
| + EXPECT_EQ(GL_INVALID_VALUE, GetGLError());
|
| +}
|
| +
|
| +TEST_P(GLES2DecoderTest2, ShaderSourceBucketInvalidHeader) {
|
| + const uint32 kBucketId = 123;
|
| + const char kSource0[] = "hello";
|
| + const char* kSource[] = {kSource0};
|
| + const char kValidStrEnd = 0;
|
| + const GLsizei kCount = static_cast<GLsizei>(arraysize(kSource));
|
| + const GLsizei kTests[] = {
|
| + kCount, 0, std::numeric_limits<GLsizei>::max(), -1, kCount,
|
| + };
|
| + decoder_->set_unsafe_es3_apis_enabled(true);
|
| + for (size_t ii = 0; ii < arraysize(kTests); ++ii) {
|
| + SetBucketAsCStrings(kBucketId, 1, kSource, kTests[ii], kValidStrEnd);
|
| + cmds::ShaderSourceBucket cmd;
|
| + cmd.Init(client_shader_id_, kBucketId);
|
| + if (kTests[ii] == kCount) {
|
| + EXPECT_EQ(error::kNoError, ExecuteCmd(cmd));
|
| + } else {
|
| + EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd));
|
| + }
|
| + }
|
| + EXPECT_EQ(GL_NO_ERROR, GetGLError());
|
| +}
|
| +
|
| +TEST_P(GLES2DecoderTest2, ShaderSourceBucketInvalidStringEnding) {
|
| + const uint32 kBucketId = 123;
|
| + const char kSource0[] = "hello";
|
| + const char* kSource[] = {kSource0};
|
| + const char kInvalidStrEnd = '*';
|
| + SetBucketAsCStrings(kBucketId, 1, kSource, 1, kInvalidStrEnd);
|
| + cmds::ShaderSourceBucket cmd;
|
| + cmd.Init(client_shader_id_, kBucketId);
|
| + decoder_->set_unsafe_es3_apis_enabled(true);
|
| + EXPECT_EQ(error::kInvalidArguments, ExecuteCmd(cmd));
|
| + EXPECT_EQ(GL_NO_ERROR, GetGLError());
|
| +}
|
|
|
| TEST_P(GLES2DecoderTest2, StencilFuncValidArgs) {
|
| EXPECT_CALL(*gl_, StencilFunc(GL_NEVER, 2, 3));
|
| @@ -1421,6 +1486,4 @@ TEST_P(GLES2DecoderTest2, VertexAttribI4uivImmediateValidArgs) {
|
| }
|
| // TODO(gman): VertexAttribIPointer
|
|
|
| -// TODO(gman): VertexAttribPointer
|
| -
|
| #endif // GPU_COMMAND_BUFFER_SERVICE_GLES2_CMD_DECODER_UNITTEST_2_AUTOGEN_H_
|
|
|