aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Object.m28
1 files changed, 25 insertions, 3 deletions
diff --git a/tests/Object.m b/tests/Object.m
index be81b1d..2814489 100644
--- a/tests/Object.m
+++ b/tests/Object.m
@@ -2,7 +2,7 @@
#include <stdio.h>
int main(void) {
- printf("PXObject test\n");
+ printf("PXObject test (allocDebug)\n");
PXObject *object = [PXObject allocDebug];
@@ -18,9 +18,31 @@ int main(void) {
return 1;
}
- [object dealloc];
+ [object release];
- printf("If you got this far without segfaulting or crashing it means it allocated and initialized a PXObject, then deallocated it. Yayayayayay\n");
+ printf("If you got this far without segfaulting or crashing it means it allocated and initialized a PXObject, then released it. Yay!\n");
+
+ printf("\nPXObject two-owner test (new)\n");
+
+ PXObject *object1 = [PXObject new];
+ PXObject *object2 = [object1 retain];
+
+ printf("object1 reference: %p\n", (void*)object1);
+ [object1 release];
+ printf("object1 released\n");
+
+ printf("attempting retain on object2\n");
+ PXObject *object3 = [object2 retain];
+
+ printf("object2 reference: %p\n", (void*)object2);
+ [object2 release];
+ printf("object2 released\n");
+
+ printf("object3 reference: %p\n", (void*)object3);
+ [object3 release];
+ printf("object3 released\n");
+
+ printf("test complete\n");
return 0;
}