diff options
Diffstat (limited to 'Foundation/GTMFourCharCodeTest.m')
-rw-r--r-- | Foundation/GTMFourCharCodeTest.m | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/Foundation/GTMFourCharCodeTest.m b/Foundation/GTMFourCharCodeTest.m deleted file mode 100644 index 1799629..0000000 --- a/Foundation/GTMFourCharCodeTest.m +++ /dev/null @@ -1,122 +0,0 @@ -// -// GTMFourCharCodeTest.m -// -// Copyright 2008 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); you may not -// use this file except in compliance with the License. You may obtain a copy -// of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -// License for the specific language governing permissions and limitations under -// the License. -// - -#import "GTMSenTestCase.h" -#import "GTMFourCharCode.h" - -@interface GTMFourCharCodeTest : GTMTestCase { - @private - NSString *lowAsciiString_; - NSString *highMacOSRomanString_; -} - -@end - -@implementation GTMFourCharCodeTest - -static const FourCharCode kGTMHighMacOSRomanCode = 0xA5A8A9AA; // '•®©™' - -- (void)setUp { - // There appears to be a bug in the gcc 4.0 that is included with Xcode - // 3.2.5 where in release mode it doesn't like some string constants - // that include high or low ascii using the @"blah" string style. - // So we build them by hand. - // Use 8 bytes instead of 4, because stack protection gives us a warning - // if we have a buffer smaller than 8 bytes. - char string[8] = { 0, 0, 0, 1, 0, 0, 0, 0 }; - lowAsciiString_ = [[NSString alloc] initWithBytes:string - length:4 - encoding:NSASCIIStringEncoding]; - - // Must make sure our bytes are in the right order for building strings with, - // otherwise the string comes out in the wrong order on low-endian systems. - FourCharCode orderedString = htonl(kGTMHighMacOSRomanCode); - highMacOSRomanString_ - = [[NSString alloc] initWithBytes:&orderedString - length:sizeof(orderedString) - encoding:NSMacOSRomanStringEncoding]; -} - -- (void)tearDown { - [lowAsciiString_ release]; - [highMacOSRomanString_ release]; -} - -- (void)testFourCharCode { - GTMFourCharCode *fcc = [GTMFourCharCode fourCharCodeWithString:@"APPL"]; - STAssertNotNil(fcc, nil); - STAssertEqualObjects([fcc stringValue], @"APPL", nil); - STAssertEqualObjects([fcc numberValue], - [NSNumber numberWithUnsignedInt:'APPL'], nil); - STAssertEquals([fcc fourCharCode], (FourCharCode)'APPL', nil); - - STAssertEqualObjects([fcc description], - @"GTMFourCharCode - APPL (0x4150504C)", nil); - STAssertEquals([fcc hash], (NSUInteger)'APPL', nil); - - NSData *data = [NSKeyedArchiver archivedDataWithRootObject:fcc]; - STAssertNotNil(data, nil); - GTMFourCharCode *fcc2 - = (GTMFourCharCode*)[NSKeyedUnarchiver unarchiveObjectWithData:data]; - STAssertNotNil(fcc2, nil); - STAssertEqualObjects(fcc, fcc2, nil); - - fcc = [[[GTMFourCharCode alloc] initWithFourCharCode:'\?\?\?\?'] autorelease]; - STAssertNotNil(fcc, nil); - STAssertEqualObjects([fcc stringValue], @"????", nil); - STAssertEqualObjects([fcc numberValue], - [NSNumber numberWithUnsignedInt:'\?\?\?\?'], nil); - STAssertEquals([fcc fourCharCode], (FourCharCode)'\?\?\?\?', nil); - - fcc = [[[GTMFourCharCode alloc] initWithString:@"????"] autorelease]; - STAssertNotNil(fcc, nil); - STAssertEqualObjects([fcc stringValue], @"????", nil); - STAssertEqualObjects([fcc numberValue], - [NSNumber numberWithUnsignedInt:'\?\?\?\?'], nil); - STAssertEquals([fcc fourCharCode], (FourCharCode)'\?\?\?\?', nil); - - fcc = [GTMFourCharCode fourCharCodeWithFourCharCode:1]; - STAssertNotNil(fcc, nil); - STAssertTrue([[fcc stringValue] isEqualToString:lowAsciiString_], nil); - STAssertEqualObjects([fcc numberValue], - [NSNumber numberWithUnsignedInt:1], nil); - STAssertEquals([fcc fourCharCode], (FourCharCode)1, nil); - - fcc = [GTMFourCharCode fourCharCodeWithString:@"BADDSTRING"]; - STAssertNil(fcc, nil); - - fcc2 = [GTMFourCharCode fourCharCodeWithFourCharCode:kGTMHighMacOSRomanCode]; - STAssertNotNil(fcc2, nil); - STAssertEqualObjects([fcc2 stringValue], highMacOSRomanString_, nil); - STAssertEqualObjects([fcc2 numberValue], - [NSNumber numberWithUnsignedInt:kGTMHighMacOSRomanCode], - nil); - STAssertEquals([fcc2 fourCharCode], - (FourCharCode)kGTMHighMacOSRomanCode, nil); -} - -- (void)testStringWithCode { - STAssertEqualObjects([GTMFourCharCode stringWithFourCharCode:'APPL'], - @"APPL", nil); - STAssertEqualObjects([GTMFourCharCode stringWithFourCharCode:1], - lowAsciiString_, nil); - STAssertEqualObjects([GTMFourCharCode stringWithFourCharCode:kGTMHighMacOSRomanCode], - highMacOSRomanString_, nil); -} - -@end |