| // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 
 |  | 
 | #include "gpu/command_buffer/common/gles2_cmd_format.h" | 
 | #include "gpu/command_buffer/common/gles2_cmd_utils.h" | 
 | #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h" | 
 | #include "gpu/command_buffer/service/cmd_buffer_engine.h" | 
 | #include "gpu/command_buffer/service/context_group.h" | 
 | #include "gpu/command_buffer/service/program_manager.h" | 
 | #include "testing/gtest/include/gtest/gtest.h" | 
 | #include "ui/gl/gl_mock.h" | 
 |  | 
 | using ::gfx::MockGLInterface; | 
 | using ::testing::_; | 
 | using ::testing::DoAll; | 
 | using ::testing::InSequence; | 
 | using ::testing::MatcherCast; | 
 | using ::testing::Pointee; | 
 | using ::testing::Return; | 
 | using ::testing::SetArrayArgument; | 
 | using ::testing::SetArgumentPointee; | 
 | using ::testing::StrEq; | 
 |  | 
 | namespace gpu { | 
 | namespace gles2 { | 
 |  | 
 | using namespace cmds; | 
 |  | 
 | class GLES2DecoderTest3 : public GLES2DecoderTestBase { | 
 |  public: | 
 |   GLES2DecoderTest3() { } | 
 | }; | 
 |  | 
 | INSTANTIATE_TEST_CASE_P(Service, GLES2DecoderTest3, ::testing::Bool()); | 
 |  | 
 | TEST_P(GLES2DecoderTest3, TraceBeginCHROMIUM) { | 
 |   const uint32 kCategoryBucketId = 123; | 
 |   const uint32 kNameBucketId = 234; | 
 |  | 
 |   const char kCategory[] = "test_category"; | 
 |   const char kName[] = "test_command"; | 
 |   SetBucketAsCString(kCategoryBucketId, kCategory); | 
 |   SetBucketAsCString(kNameBucketId, kName); | 
 |  | 
 |   TraceBeginCHROMIUM begin_cmd; | 
 |   begin_cmd.Init(kCategoryBucketId, kNameBucketId); | 
 |   EXPECT_EQ(error::kNoError, ExecuteCmd(begin_cmd)); | 
 | } | 
 |  | 
 | TEST_P(GLES2DecoderTest3, TraceEndCHROMIUM) { | 
 |   // Test end fails if no begin. | 
 |   TraceEndCHROMIUM end_cmd; | 
 |   end_cmd.Init(); | 
 |   EXPECT_EQ(error::kNoError, ExecuteCmd(end_cmd)); | 
 |   EXPECT_EQ(GL_INVALID_OPERATION, GetGLError()); | 
 |  | 
 |   const uint32 kCategoryBucketId = 123; | 
 |   const uint32 kNameBucketId = 234; | 
 |  | 
 |   const char kCategory[] = "test_category"; | 
 |   const char kName[] = "test_command"; | 
 |   SetBucketAsCString(kCategoryBucketId, kCategory); | 
 |   SetBucketAsCString(kNameBucketId, kName); | 
 |  | 
 |   TraceBeginCHROMIUM begin_cmd; | 
 |   begin_cmd.Init(kCategoryBucketId, kNameBucketId); | 
 |   EXPECT_EQ(error::kNoError, ExecuteCmd(begin_cmd)); | 
 |  | 
 |   end_cmd.Init(); | 
 |   EXPECT_EQ(error::kNoError, ExecuteCmd(end_cmd)); | 
 |   EXPECT_EQ(GL_NO_ERROR, GetGLError()); | 
 | } | 
 |  | 
 | #include "gpu/command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h" | 
 |  | 
 | }  // namespace gles2 | 
 | }  // namespace gpu |