libs-base/Testing/string.m
Andrew McCallum 1d5e40fb29 (main): Add tests for -copy and -mutableCopy.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@1829 72102866-910b-0410-8b05-ffd578937521
1996-09-24 17:43:57 +00:00

63 lines
1.2 KiB
Objective-C

#include <Foundation/NSString.h>
/* For demo of Strings as Collections of char's. */
#include <gnustep/base/NSString.h>
void
print_string(NSString* s)
{
printf("The string [%s], length %d\n", [s cStringNoCopy], [s length]);
}
#include <Foundation/NSString.h>
int main()
{
id s = @"This is a test string";
id s2, s3;
print_string(s);
s2 = [s copy];
print_string(s2);
s3 = [s2 mutableCopy];
[s2 release];
s2 = [s3 copy];
[s3 release];
[s2 release];
s2 = [s copyWithZone: NS_NOZONE];
print_string(s2);
s2 = [s stringByAppendingString:@" with something added"];
print_string(s2);
s2 = [s mutableCopy];
[s2 replaceCharactersInRange:((NSRange){10,4})
withString:@"changed"];
print_string(s2);
/* Test the use of the `%@' format directive. */
s2 = [NSString stringWithFormat: @"foo %@ bar",
@"test"];
print_string(s2);
#if 0
/* An example of treating a string like a Collection:
Increment each char. */
{
id s3;
void rot13(elt c)
{
[s3 appendElement:(char)(c.char_u + 1)];
}
s3 = [NSMutableString stringWithCapacity:[s2 length]];
[s2 withElementsCall:rot13];
print_string(s3);
}
#endif
exit(0);
}