]> git.saurik.com Git - apple/objc4.git/blobdiff - test/association-cf.m
objc4-437.tar.gz
[apple/objc4.git] / test / association-cf.m
diff --git a/test/association-cf.m b/test/association-cf.m
new file mode 100644 (file)
index 0000000..ffd995d
--- /dev/null
@@ -0,0 +1,24 @@
+#include <CoreFoundation/CoreFoundation.h>
+#include <objc/runtime.h>
+
+#include "test.h"
+
+int main()
+{
+    // rdar://6164781 setAssociatedObject on pure-CF object crashes LP64
+
+    id obj;
+    CFArrayRef array = CFArrayCreate(0, 0, 0, 0);
+    testassert(array);
+
+    testassert(! objc_getClass("NSCFArray"));
+
+    objc_setAssociatedObject((id)array, (void*)1, (id)array, OBJC_ASSOCIATION_ASSIGN);
+
+    obj = objc_getAssociatedObject((id)array, (void*)1);
+    testassert(obj == (id)array);
+
+    CFRelease(array);
+
+    succeed(__FILE__);
+}