mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-31 00:30:53 +00:00
import testsuite
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@32187 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
734c214892
commit
0e02133729
374 changed files with 20864 additions and 0 deletions
48
Tests/base/NSPointerArray/create.m
Normal file
48
Tests/base/NSPointerArray/create.m
Normal file
|
@ -0,0 +1,48 @@
|
|||
#import "ObjectTesting.h"
|
||||
#import <Foundation/NSPointerArray.h>
|
||||
#import <Foundation/NSAutoreleasePool.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
NSAutoreleasePool *arp = [NSAutoreleasePool new];
|
||||
NSMutableString *ms;
|
||||
NSString *val1, *val2, *val3;
|
||||
NSPointerArray *obj, *old;
|
||||
NSUInteger rc;
|
||||
id vals[3];
|
||||
|
||||
val1 = @"Hello";
|
||||
val2 = @"Goodbye";
|
||||
val3 = @"Testing";
|
||||
|
||||
vals[0] = val1;
|
||||
vals[1] = val2;
|
||||
vals[2] = val3;
|
||||
|
||||
obj = [[NSPointerArray new] autorelease];
|
||||
PASS(obj != nil
|
||||
&& [obj isKindOfClass:[NSPointerArray class]]
|
||||
&& [obj count] == 0,
|
||||
"+new creates an empty pointer array");
|
||||
|
||||
[obj addPointer: (void*)@"hello"];
|
||||
PASS([obj count] == 1, "+addPointer: increments count");
|
||||
[obj addPointer: nil];
|
||||
PASS([obj count] == 2, "+addPointer: works with nil");
|
||||
|
||||
[obj insertPointer: (void*)vals[0] atIndex: 0];
|
||||
[obj insertPointer: (void*)vals[1] atIndex: 0];
|
||||
[obj insertPointer: (void*)vals[2] atIndex: 0];
|
||||
PASS([obj count] == 5 && [obj pointerAtIndex: 2] == (void*)vals[0],
|
||||
"+insertPointer:atIndex: works");
|
||||
|
||||
obj = [NSPointerArray pointerArrayWithWeakObjects];
|
||||
ms = [@"hello" mutableCopy];
|
||||
rc = [ms retainCount];
|
||||
[obj addPointer: ms];
|
||||
PASS(rc == [ms retainCount], "array with weak references doesn't retain");
|
||||
|
||||
[arp release]; arp = nil;
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue