X-Git-Url: https://git.saurik.com/apple/objc4.git/blobdiff_plain/7c0e6487d7b67b6bf6c632300ee4b74e8950b051..7af964d1562d70f51a8e9aca24215ac3d83d0624:/test/weakcopy.m diff --git a/test/weakcopy.m b/test/weakcopy.m new file mode 100644 index 0000000..7c550b9 --- /dev/null +++ b/test/weakcopy.m @@ -0,0 +1,34 @@ +#include "test.h" +#include +#include +#include + +@interface Base { + @public + id isa; +} +@end +@implementation Base ++(void)initialize { } ++class { return self; } +@end + +@interface Weak : Base { + @public + __weak id value; +} +@end +@implementation Weak +@end + +int main() +{ + Base *value = class_createInstance([Base class], 0); + Weak *oldObject = class_createInstance([Weak class], 0); + oldObject->value = value; + Weak *newObject = object_copy(oldObject, 0); + testassert(newObject->value == oldObject->value); + newObject->value = nil; + succeed(__FILE__); + return 0; +}