// Copyright (c) 2006-2008 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 BASE_PLATFORM_TEST_H_ #define BASE_PLATFORM_TEST_H_ #include "build/build_config.h" #include "testing/gtest/include/gtest/gtest.h" #if defined(OS_MACOSX) #ifdef __OBJC__ @class NSAutoreleasePool; #else class NSAutoreleasePool; #endif // The purpose of this class us to provide a hook for platform-specific // SetUp and TearDown across unit tests. For example, on the Mac, it // creates and releases an outer AutoreleasePool for each test. For now, it's // only implemented on the Mac. To enable this for another platform, just // adjust the #ifdefs and add a platform_test_.cc implementation file. class PlatformTest : public testing::Test { protected: virtual void SetUp(); virtual void TearDown(); private: NSAutoreleasePool* pool_; }; #else typedef testing::Test PlatformTest; #endif // OS_MACOSX #endif // BASE_PLATFORM_TEST_H_