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 14namespace gfx { 15class GLContextStubWithExtensions; 16} 17 18namespace gpu { 19namespace gles2 { 20 21// Base class for tests that need mock GL bindings. 22class 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