summaryrefslogtreecommitdiffstats
path: root/media/webrtc/trunk/testing/platform_test.h
diff options
context:
space:
mode:
Diffstat (limited to 'media/webrtc/trunk/testing/platform_test.h')
-rw-r--r--media/webrtc/trunk/testing/platform_test.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/media/webrtc/trunk/testing/platform_test.h b/media/webrtc/trunk/testing/platform_test.h
new file mode 100644
index 000000000..f10a938ab
--- /dev/null
+++ b/media/webrtc/trunk/testing/platform_test.h
@@ -0,0 +1,34 @@
+// 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)
+#ifdef __OBJC__
+@class NSAutoreleasePool;
+#else
+class NSAutoreleasePool;
+#endif
+
+// 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 {
+ protected:
+ PlatformTest();
+ virtual ~PlatformTest();
+
+ private:
+ NSAutoreleasePool* pool_;
+};
+#else
+typedef testing::Test PlatformTest;
+#endif // GTEST_OS_MAC
+
+#endif // TESTING_PLATFORM_TEST_H_