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 12 namespace content { 13 class 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. 18 class 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