1234567891011121314151617181920212223242526272829303132333435 |
- // 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:
- ~PlatformTest() override;
- 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_
|