// 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_<platform>.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_


