content_test_suite_base.h revision 23730a6e56a168d1879203e4b3819bb36e3d8f1f
1// Copyright (c) 2012 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 CONTENT_PUBLIC_TEST_CONTENT_TEST_SUITE_BASE_H_
6#define CONTENT_PUBLIC_TEST_CONTENT_TEST_SUITE_BASE_H_
7
8#include "base/basictypes.h"
9#include "base/compiler_specific.h"
10#include "base/test/test_suite.h"
11
12namespace content {
13class ContentClient;
14
15// A basis upon which test suites that use content can be built.  This suite
16// initializes bits and pieces of content; see the implementation of Initialize
17// for details.
18class ContentTestSuiteBase : public base::TestSuite {
19 protected:
20  ContentTestSuiteBase(int argc, char** argv);
21
22  virtual void Initialize() OVERRIDE;
23
24  // The methods below are for unit test setup.
25
26  // Registers content's schemes. During this call, the given content_client is
27  // registered temporarily so that it can provide additional schemes.
28  static void RegisterContentSchemes(ContentClient* content_client);
29
30  // Registers renderer/utility/gpu processes to run in-thread.
31  void RegisterInProcessThreads();
32
33 private:
34  DISALLOW_COPY_AND_ASSIGN(ContentTestSuiteBase);
35};
36
37} //  namespace content
38
39#endif  // CONTENT_PUBLIC_TEST_CONTENT_TEST_SUITE_BASE_H_
40