Index: ios/chrome/common/noarc_block_unittest.mm |
diff --git a/ios/chrome/common/block_unittest.mm b/ios/chrome/common/noarc_block_unittest.mm |
similarity index 88% |
copy from ios/chrome/common/block_unittest.mm |
copy to ios/chrome/common/noarc_block_unittest.mm |
index 3ff46f844670e17057d67ea6eefa6be6e3c4a0d6..defab36e70f2e0a0cb829bd4971ca6379cdb8e7a 100644 |
--- a/ios/chrome/common/block_unittest.mm |
+++ b/ios/chrome/common/noarc_block_unittest.mm |
@@ -8,11 +8,17 @@ |
#include "base/memory/ref_counted.h" |
#include "testing/platform_test.h" |
+#if defined(__has_feature) && __has_feature(objc_arc) |
+#error "This file must not be compiled with ARC." |
+#endif |
+ |
// This test verifies assumptions about the murky world of interaction between |
// C++ objects and blocks. Just to make sure. |
namespace { |
+using NoArcBlockTest = PlatformTest; |
+ |
class RefCountedObject : public base::RefCounted<RefCountedObject> { |
public: |
RefCountedObject() {} |
@@ -37,7 +43,7 @@ class RefCountedObject : public base::RefCounted<RefCountedObject> { |
virtual ~RefCountedObject() {} |
}; |
-TEST_F(PlatformTest, BlockAndCPlusPlus) { |
+TEST_F(NoArcBlockTest, BlockAndCPlusPlus) { |
RefCountedObject* object = new RefCountedObject(); |
object->AddRef(); |
EXPECT_TRUE(object->HasOneRef()); |
@@ -49,7 +55,7 @@ TEST_F(PlatformTest, BlockAndCPlusPlus) { |
} |
EXPECT_TRUE(object->HasOneRef()); |
- void (^heap_block)(int) = 0; |
+ void (^heap_block)(int) = nil; |
{ |
scoped_refptr<RefCountedObject> object_ptr(object); |
EXPECT_EQ(2, object->refcount()); |
@@ -74,8 +80,8 @@ TEST_F(PlatformTest, BlockAndCPlusPlus) { |
object->Release(); |
} |
-TEST_F(PlatformTest, BlockAndVectors) { |
- void (^heap_block)(void) = 0; |
+TEST_F(NoArcBlockTest, BlockAndVectors) { |
+ void (^heap_block)(void) = nil; |
{ |
std::vector<int> vector; |
vector.push_back(0); |