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