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 14 class ContentClient; 15 16 // A basis upon which test suites that use content can be built. This suite 17 // initializes bits and pieces of content; see the implementation of Initialize 18 // for details. 19 class ContentTestSuiteBase : public base::TestSuite { 20 protected: 21 ContentTestSuiteBase(int argc, char** argv); 22 23 virtual void Initialize() OVERRIDE; 24 25 // Creates a ContentClient for use during test suite initialization. 26 virtual ContentClient* CreateClientForInitialization() = 0; 27 28 // If set to false, prevents Initialize() to load external libraries 29 // to the process. By default loading is enabled. 30 void set_external_libraries_enabled(bool val) { 31 external_libraries_enabled_ = val; 32 } 33 34 private: 35 bool external_libraries_enabled_; 36 DISALLOW_COPY_AND_ASSIGN(ContentTestSuiteBase); 37 }; 38 39 } // namespace content 40 41 #endif // CONTENT_PUBLIC_TEST_CONTENT_TEST_SUITE_BASE_H_ 42