mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-30 08:21:25 +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
19
Tests/base/NSCharacterSet/basic.m
Normal file
19
Tests/base/NSCharacterSet/basic.m
Normal file
|
@ -0,0 +1,19 @@
|
|||
#import "Testing.h"
|
||||
#import "ObjectTesting.h"
|
||||
#import <Foundation/NSAutoreleasePool.h>
|
||||
#import <Foundation/NSCharacterSet.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
NSAutoreleasePool *arp = [NSAutoreleasePool new];
|
||||
id testObj = [NSCharacterSet alphanumericCharacterSet];
|
||||
test_alloc(@"NSCharacterSet");
|
||||
test_NSObject(@"NSCharacterSet", [NSArray arrayWithObject:testObj]);
|
||||
test_NSCoding([NSArray arrayWithObject:testObj]);
|
||||
test_NSCopying(@"NSCharacterSet", @"NSMutableCharacterSet", [NSArray arrayWithObject:testObj], NO, NO);
|
||||
test_NSMutableCopying(@"NSCharacterSet",@"NSMutableCharacterSet", [NSArray arrayWithObject:testObj]);
|
||||
|
||||
|
||||
[arp release]; arp = nil;
|
||||
return 0;
|
||||
}
|
67
Tests/base/NSCharacterSet/class.m
Normal file
67
Tests/base/NSCharacterSet/class.m
Normal file
|
@ -0,0 +1,67 @@
|
|||
#import "Testing.h"
|
||||
#import <Foundation/NSAutoreleasePool.h>
|
||||
#import <Foundation/NSCharacterSet.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
NSAutoreleasePool *arp = [NSAutoreleasePool new];
|
||||
NSCharacterSet *theSet = nil;
|
||||
|
||||
theSet = [NSCharacterSet alphanumericCharacterSet];
|
||||
PASS(theSet != nil, "NSCharacterSet understands [+alphanumericCharacterSet]");
|
||||
PASS([NSCharacterSet alphanumericCharacterSet] == theSet,
|
||||
"NSCharacterSet uniques alphanumericCharacterSet");
|
||||
|
||||
theSet = [NSCharacterSet controlCharacterSet];
|
||||
PASS(theSet != nil,"NSCharacterSet understands [+controlCharacterSet]");
|
||||
PASS([NSCharacterSet controlCharacterSet] == theSet,
|
||||
"NSCharacterSet uniques controlCharacterSet");
|
||||
|
||||
theSet = [NSCharacterSet decimalDigitCharacterSet];
|
||||
PASS(theSet != nil,"NSCharacterSet understands [+decimalDigitCharacterSet]");
|
||||
PASS([NSCharacterSet decimalDigitCharacterSet] == theSet,
|
||||
"NSCharacterSet uniques [+decimalDigitCharacterSet]");
|
||||
|
||||
theSet = [NSCharacterSet illegalCharacterSet];
|
||||
PASS(theSet != nil,"NSCharacterSet understands [+illegalCharacterSet]");
|
||||
PASS([NSCharacterSet illegalCharacterSet] == theSet,
|
||||
"NSCharacterSet uniques [+illegalCharacterSet]");
|
||||
|
||||
theSet = [NSCharacterSet letterCharacterSet];
|
||||
PASS(theSet != nil,"NSCharacterSet understands [+letterCharacterSet]");
|
||||
PASS([NSCharacterSet letterCharacterSet] == theSet,
|
||||
"NSCharacterSet uniques [+letterCharacterSet]");
|
||||
|
||||
theSet = [NSCharacterSet lowercaseLetterCharacterSet];
|
||||
PASS(theSet != nil,"NSCharacterSet understands [+lowercaseLetterCharacterSet]");
|
||||
PASS([NSCharacterSet lowercaseLetterCharacterSet] == theSet,
|
||||
"NSCharacterSet uniques [+lowercaseLetterCharacterSet]");
|
||||
|
||||
theSet = [NSCharacterSet nonBaseCharacterSet];
|
||||
PASS(theSet != nil,"NSCharacterSet understands [+nonBaseCharacterSet]");
|
||||
PASS([NSCharacterSet nonBaseCharacterSet] == theSet,
|
||||
"NSCharacterSet uniques [+nonBaseCharacterSet]");
|
||||
|
||||
theSet = [NSCharacterSet punctuationCharacterSet];
|
||||
PASS(theSet != nil,"NSCharacterSet understands [+punctuationCharacterSet]");
|
||||
PASS([NSCharacterSet punctuationCharacterSet] == theSet,
|
||||
"NSCharacterSet uniques [+punctuationCharacterSet]");
|
||||
|
||||
theSet = [NSCharacterSet uppercaseLetterCharacterSet];
|
||||
PASS(theSet != nil,"NSCharacterSet understands [+uppercaseLetterCharacterSet]");
|
||||
PASS([NSCharacterSet uppercaseLetterCharacterSet] == theSet,
|
||||
"NSCharacterSet uniques [+uppercaseLetterCharacterSet]");
|
||||
|
||||
theSet = [NSCharacterSet whitespaceAndNewlineCharacterSet];
|
||||
PASS(theSet != nil,"NSCharacterSet understands [+whitespaceAndNewlineCharacterSet]");
|
||||
PASS([NSCharacterSet whitespaceAndNewlineCharacterSet] == theSet,
|
||||
"NSCharacterSet uniques [+whitespaceAndNewlineCharacterSet]");
|
||||
|
||||
theSet = [NSCharacterSet whitespaceCharacterSet];
|
||||
PASS(theSet != nil,"NSCharacterSet understands [+whitespaceCharacterSet]");
|
||||
PASS([NSCharacterSet whitespaceCharacterSet] == theSet,
|
||||
"NSCharacterSet uniques [+whitespaceCharacterSet]");
|
||||
|
||||
[arp release]; arp = nil;
|
||||
return 0;
|
||||
}
|
93
Tests/base/NSCharacterSet/general.m
Normal file
93
Tests/base/NSCharacterSet/general.m
Normal file
|
@ -0,0 +1,93 @@
|
|||
#import "Testing.h"
|
||||
#import <Foundation/NSAutoreleasePool.h>
|
||||
#import <Foundation/NSCharacterSet.h>
|
||||
#import <Foundation/NSData.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
NSAutoreleasePool *arp = [NSAutoreleasePool new];
|
||||
NSCharacterSet *theSet,*iSet;
|
||||
NSData *data1 = nil;
|
||||
theSet = [NSCharacterSet alphanumericCharacterSet];
|
||||
PASS([theSet characterIsMember:'A'] &&
|
||||
[theSet characterIsMember:'Z'] &&
|
||||
[theSet characterIsMember:'a'] &&
|
||||
[theSet characterIsMember:'z'] &&
|
||||
[theSet characterIsMember:'9'] &&
|
||||
[theSet characterIsMember:'0'] &&
|
||||
![theSet characterIsMember:'#'] &&
|
||||
![theSet characterIsMember:' '] &&
|
||||
![theSet characterIsMember:'\n'],
|
||||
"Check some characters from alphanumericCharacterSet");
|
||||
|
||||
theSet = [NSCharacterSet lowercaseLetterCharacterSet];
|
||||
PASS(![theSet characterIsMember:'A'] &&
|
||||
![theSet characterIsMember:'Z'] &&
|
||||
[theSet characterIsMember:'a'] &&
|
||||
[theSet characterIsMember:'z'] &&
|
||||
![theSet characterIsMember:'9'] &&
|
||||
![theSet characterIsMember:'0'] &&
|
||||
![theSet characterIsMember:'#'] &&
|
||||
![theSet characterIsMember:' '] &&
|
||||
![theSet characterIsMember:'\n'],
|
||||
"Check some characters from lowercaseLetterCharacterSet");
|
||||
|
||||
theSet = [NSCharacterSet whitespaceAndNewlineCharacterSet];
|
||||
PASS(![theSet characterIsMember:'A'] &&
|
||||
![theSet characterIsMember:'Z'] &&
|
||||
![theSet characterIsMember:'a'] &&
|
||||
![theSet characterIsMember:'z'] &&
|
||||
![theSet characterIsMember:'9'] &&
|
||||
![theSet characterIsMember:'0'] &&
|
||||
![theSet characterIsMember:'#'] &&
|
||||
[theSet characterIsMember:' '] &&
|
||||
[theSet characterIsMember:'\n'] &&
|
||||
[theSet characterIsMember:'\t'],
|
||||
"Check some characters from whitespaceAndNewlineCharacterSet");
|
||||
|
||||
data1 = [theSet bitmapRepresentation];
|
||||
PASS(data1 != nil && [data1 isKindOfClass:[NSData class]],
|
||||
"-bitmapRepresentation works");
|
||||
|
||||
iSet = [theSet invertedSet];
|
||||
PASS([iSet characterIsMember:'A'] &&
|
||||
[iSet characterIsMember:'Z'] &&
|
||||
[iSet characterIsMember:'a'] &&
|
||||
[iSet characterIsMember:'z'] &&
|
||||
[iSet characterIsMember:'9'] &&
|
||||
[iSet characterIsMember:'0'] &&
|
||||
[iSet characterIsMember:'#'] &&
|
||||
![iSet characterIsMember:' '] &&
|
||||
![iSet characterIsMember:'\n'] &&
|
||||
![iSet characterIsMember:'\t'],
|
||||
"-invertedSet works");
|
||||
{
|
||||
NSCharacterSet *firstSet,*secondSet,*thirdSet,*fourthSet;
|
||||
firstSet = [NSCharacterSet decimalDigitCharacterSet];
|
||||
secondSet = [NSCharacterSet decimalDigitCharacterSet];
|
||||
thirdSet = nil;
|
||||
fourthSet = [NSMutableCharacterSet decimalDigitCharacterSet];
|
||||
thirdSet = [[firstSet class] decimalDigitCharacterSet];
|
||||
PASS (firstSet == secondSet &&
|
||||
firstSet == thirdSet &&
|
||||
firstSet != fourthSet,
|
||||
"Caching of standard sets");
|
||||
}
|
||||
|
||||
theSet = [NSCharacterSet characterSetWithCharactersInString:@"Not a set"];
|
||||
PASS(theSet != nil && [theSet isKindOfClass:[NSCharacterSet class]],
|
||||
"Create custom set with characterSetWithCharactersInString:");
|
||||
|
||||
PASS([theSet characterIsMember:' '] &&
|
||||
[theSet characterIsMember:'N'] &&
|
||||
[theSet characterIsMember:'o'] &&
|
||||
![theSet characterIsMember:'A'] &&
|
||||
![theSet characterIsMember:'#'],
|
||||
"Check custom set");
|
||||
|
||||
|
||||
|
||||
[arp release]; arp = nil;
|
||||
return 0;
|
||||
}
|
||||
|
59
Tests/base/NSCharacterSet/illegalCharacterSet.m
Normal file
59
Tests/base/NSCharacterSet/illegalCharacterSet.m
Normal file
|
@ -0,0 +1,59 @@
|
|||
#import "Testing.h"
|
||||
#import "ObjectTesting.h"
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
int
|
||||
main (int argc, char**argv)
|
||||
{
|
||||
id pool = [NSAutoreleasePool new];
|
||||
NSCharacterSet *illegal = [NSCharacterSet illegalCharacterSet];
|
||||
NSCharacterSet *legal = [illegal invertedSet];
|
||||
NSMutableData *data;
|
||||
NSString *s;
|
||||
unichar cp;
|
||||
|
||||
PASS([illegal characterIsMember: 0xfffe], "0xfffe is illegal");
|
||||
PASS(![legal characterIsMember: 0xfffe], "0xfffe is bnot legal");
|
||||
PASS([illegal characterIsMember: 0xffff], "0xffff is illegal");
|
||||
PASS(![legal characterIsMember: 0xffff], "0xffff is not legal");
|
||||
PASS([illegal characterIsMember: 0xfdd0], "0xfdd0 is illegal");
|
||||
PASS(![legal characterIsMember: 0xfdd0], "0xfdd0 is not legal");
|
||||
PASS([illegal longCharacterIsMember: 0x0010fffe], "0x0010fffe is illegal");
|
||||
PASS(![legal longCharacterIsMember: 0x0010fffe], "0x0010fffe is not legal");
|
||||
|
||||
// Null character
|
||||
PASS(![illegal characterIsMember: 0x0000], "0x0000 is not illegal");
|
||||
PASS([legal characterIsMember: 0x0000], "0x0000 is legal");
|
||||
// First half of surrogate pair
|
||||
PASS(![illegal characterIsMember: 0xd800], "0xd800 is not illegal");
|
||||
PASS([legal characterIsMember: 0xd800], "0xd800 is legal");
|
||||
// Second half of surrogate pair
|
||||
PASS(![illegal characterIsMember: 0xdc00], "0xdc00 is not illegal");
|
||||
PASS([legal characterIsMember: 0xdc00], "0xdc00 is legal");
|
||||
// Private use character in code plane 16
|
||||
PASS([illegal longCharacterIsMember: 0x0010fffd], "0x0010fffd illegal");
|
||||
PASS(![legal longCharacterIsMember: 0x0010fffd], "0x0010fffd is illegal");
|
||||
|
||||
// Entire UCS-2 set (UTF-16 surrogates start above 0xD800)
|
||||
// (still looking for official information on the range of UCS-2 code points,
|
||||
// i.e. whether UCS-4/UCS-2 are actually official code point sets
|
||||
// or whether they are just commonly used terms to differentiate
|
||||
// the full UCS code point set from it's UTF-16 encoding.)
|
||||
data = [NSMutableData dataWithCapacity: sizeof(cp) * 0xD800];
|
||||
// Do not start with 0x0000 otherwise a leading BOM could misinterpreted.
|
||||
for (cp=0x0001;cp<0xFFFF;cp++)
|
||||
{
|
||||
/* Skip code points that are reserved for surrogate characters. */
|
||||
if (cp == 0xD800) cp = 0xF900;
|
||||
if ([legal characterIsMember:cp])
|
||||
{
|
||||
[data appendBytes: &cp length: sizeof(cp)];
|
||||
}
|
||||
}
|
||||
s = [[NSString alloc] initWithData: data encoding: NSUnicodeStringEncoding];
|
||||
PASS([s length],"legal UCS-2 set can be represented in an NSString.");
|
||||
[s release];
|
||||
|
||||
[pool release];
|
||||
return (0);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue