| // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef GFX_TEST_SUITE_H_ |
| #define GFX_TEST_SUITE_H_ |
| #pragma once |
| |
| #include "build/build_config.h" |
| |
| #include <string> |
| |
| #include "gfx/gfx_paths.h" |
| #include "base/file_path.h" |
| #include "base/path_service.h" |
| #if defined(OS_MACOSX) |
| #include "base/mac_util.h" |
| #endif |
| #include "base/mac/scoped_nsautorelease_pool.h" |
| #include "base/test/test_suite.h" |
| |
| class GfxTestSuite : public base::TestSuite { |
| public: |
| GfxTestSuite(int argc, char** argv) : TestSuite(argc, argv) { |
| } |
| |
| protected: |
| |
| virtual void Initialize() { |
| base::mac::ScopedNSAutoreleasePool autorelease_pool; |
| |
| TestSuite::Initialize(); |
| |
| gfx::RegisterPathProvider(); |
| |
| #if defined(OS_MACOSX) |
| // Look in the framework bundle for resources. |
| // TODO(port): make a resource bundle for non-app exes. What's done here |
| // isn't really right because this code needs to depend on chrome_dll |
| // being built. This is inappropriate in app. |
| FilePath path; |
| PathService::Get(base::DIR_EXE, &path); |
| #if defined(GOOGLE_CHROME_BUILD) |
| path = path.AppendASCII("Google Chrome Framework.framework"); |
| #elif defined(CHROMIUM_BUILD) |
| path = path.AppendASCII("Chromium Framework.framework"); |
| #else |
| #error Unknown branding |
| #endif |
| mac_util::SetOverrideAppBundlePath(path); |
| #endif // OS_MACOSX |
| } |
| |
| virtual void Shutdown() { |
| #if defined(OS_MACOSX) |
| mac_util::SetOverrideAppBundle(NULL); |
| #endif |
| TestSuite::Shutdown(); |
| } |
| }; |
| |
| #endif // GFX_TEST_SUITE_H_ |