1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef GPU_COMMAND_BUFFER_SERVICE_GPU_SERVICE_TEST_H_ 6 #define GPU_COMMAND_BUFFER_SERVICE_GPU_SERVICE_TEST_H_ 7 8 #include "base/memory/ref_counted.h" 9 #include "base/memory/scoped_ptr.h" 10 #include "testing/gmock/include/gmock/gmock.h" 11 #include "testing/gtest/include/gtest/gtest.h" 12 #include "ui/gl/gl_mock.h" 13 14 namespace gfx { 15 class GLContextStubWithExtensions; 16 } 17 18 namespace gpu { 19 namespace gles2 { 20 21 // Base class for tests that need mock GL bindings. 22 class GpuServiceTest : public testing::Test { 23 public: 24 GpuServiceTest(); 25 virtual ~GpuServiceTest(); 26 27 protected: 28 void SetUpWithGLVersion(const char* gl_version, const char* gl_extensions); 29 virtual void SetUp() OVERRIDE; 30 virtual void TearDown() OVERRIDE; 31 32 scoped_ptr< ::testing::StrictMock< ::gfx::MockGLInterface> > gl_; 33 34 private: 35 bool ran_setup_; 36 bool ran_teardown_; 37 scoped_refptr<gfx::GLContextStubWithExtensions> context_; 38 }; 39 40 } // namespace gles2 41 } // namespace gpu 42 43 #endif // GPU_COMMAND_BUFFER_SERVICE_MAILBOX_SYNCHRONIZER_H_ 44