• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2006-2008 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 TESTING_PLATFORM_TEST_H_
6 #define TESTING_PLATFORM_TEST_H_
7 
8 #include <gtest/gtest.h>
9 
10 #if defined(GTEST_OS_MAC)
11 #ifdef __OBJC__
12 @class NSAutoreleasePool;
13 #else
14 class NSAutoreleasePool;
15 #endif
16 
17 // The purpose of this class us to provide a hook for platform-specific
18 // operations across unit tests.  For example, on the Mac, it creates and
19 // releases an outer NSAutoreleasePool for each test case.  For now, it's only
20 // implemented on the Mac.  To enable this for another platform, just adjust
21 // the #ifdefs and add a platform_test_<platform>.cc implementation file.
22 class PlatformTest : public testing::Test {
23  protected:
24   PlatformTest();
25   virtual ~PlatformTest();
26 
27  private:
28   NSAutoreleasePool* pool_;
29 };
30 #else
31 typedef testing::Test PlatformTest;
32 #endif // GTEST_OS_MAC
33 
34 #endif // TESTING_PLATFORM_TEST_H_
35