// 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 TESTING_PLATFORM_TEST_H_ #define TESTING_PLATFORM_TEST_H_ #include <gtest/gtest.h> #if defined(GTEST_OS_MAC) #include <objc/objc.h> // The purpose of this class us to provide a hook for platform-specific // operations across unit tests. For example, on the Mac, it creates and // releases an outer NSAutoreleasePool for each test case. For now, it's only // implemented on the Mac. To enable this for another platform, just adjust // the #ifdefs and add a platform_test_<platform>.cc implementation file. class PlatformTest : public testing::Test { public: virtual ~PlatformTest(); protected: PlatformTest(); private: // |pool_| is a NSAutoreleasePool, but since this header may be imported from // files built with Objective-C ARC that forbids explicit usage of // NSAutoreleasePools, it is declared as id here. id pool_; }; #else typedef testing::Test PlatformTest; #endif // GTEST_OS_MAC #endif // TESTING_PLATFORM_TEST_H_