fixed unit tests for Xcode5.

This commit is contained in:
Kelp
2013-10-04 17:44:38 +08:00
parent d8faffaa46
commit e3d01fb7eb
10 changed files with 517 additions and 224 deletions
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>com.phate.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
@@ -0,0 +1,9 @@
//
// Prefix header
//
// The contents of this file are implicitly included at the beginning of every source file.
//
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#endif
@@ -0,0 +1,65 @@
//
// CocoaSecurityDecoder_Tests.m
// CocoaSecurity
//
// Created by Kelp on 2013/10/04.
//
//
#import <XCTest/XCTest.h>
#import "CocoaSecurity.h"
@interface CocoaSecurityDecoder_Tests : XCTestCase {
CocoaSecurityDecoder *_decoder;
}
@end
@implementation CocoaSecurityDecoder_Tests
- (void)setUp
{
[super setUp];
_decoder = [CocoaSecurityDecoder new];
}
- (void)tearDown
{
// Put teardown code here; it will be run once, after the last test case.
[super tearDown];
}
- (void)testDecodeHex
{
NSData *expected = [@"AO" dataUsingEncoding:NSUTF8StringEncoding];
NSData *actual = [_decoder hex:@"414F"];
XCTAssertEqualObjects(expected, actual, @"");
actual = [_decoder hex:@"414f"];
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testDecodeHexNil
{
NSData *actual = [_decoder hex:@""];
XCTAssertNil(actual, @"");
}
- (void)testDecodeBase64
{
NSData *expected = [@"source" dataUsingEncoding:NSUTF8StringEncoding];
NSData *actual = [_decoder base64:@"c291cmNl"];
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testDecodeBase64Nil
{
NSData *actual = [_decoder base64:@""];
XCTAssertNil(actual, @"");
}
@end
@@ -0,0 +1,69 @@
//
// CocoaSecurity_Tests.m
// CocoaSecurity Tests
//
// Created by Kelp on 2013/10/04.
//
//
#import <XCTest/XCTest.h>
#import "CocoaSecurity.h"
@interface CocoaSecurityEncoder_Tests : XCTestCase {
CocoaSecurityEncoder *_encoder;
}
@end
@implementation CocoaSecurityEncoder_Tests
- (void)setUp
{
[super setUp];
_encoder = [CocoaSecurityEncoder new];
}
- (void)tearDown
{
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
- (void)testEncodeHex
{
NSString *expected = @"414F";
NSData *data = [@"AO" dataUsingEncoding:NSUTF8StringEncoding];
NSString *actual = [_encoder hex:data useLower:NO];
XCTAssertEqualObjects(expected, actual, @"");
expected = @"414f";
actual = [_encoder hex:data useLower:YES];
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testEncodeHexNil
{
NSString *actual = [_encoder hex:[NSData new] useLower:YES];
XCTAssertNil(actual, @"");
}
- (void)testEncodeBase64
{
NSString *expected = @"c291cmNl";
NSData *data = [@"source" dataUsingEncoding:NSUTF8StringEncoding];
NSString *actual = [_encoder base64:data];
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testEncodeBase64Nil
{
NSString *actual = [_encoder base64:[NSData new]];
XCTAssertNil(actual, @"");
}
@end
@@ -0,0 +1,71 @@
//
// CocoaSecurityResult_Test.m
// CocoaSecurity
//
// Created by Kelp on 2013/10/04.
//
//
#import <XCTest/XCTest.h>
# import "CocoaSecurity.h"
@interface CocoaSecurityResult_Test : XCTestCase {
unsigned char *_data;
CocoaSecurityResult *_result;
}
@end
@implementation CocoaSecurityResult_Test
- (void)setUp
{
[super setUp];
unsigned char data[] =
{
0xcd, 0x3d, 0x4f, 0x4b, 0xae, 0x0c, 0x9d, 0x72,
0x14, 0x0c, 0x25, 0x22, 0xcb, 0x5d, 0xd1, 0x46
};
_data = malloc(16);
memcpy(_data, data, 16);
_result = [[CocoaSecurityResult alloc] initWithBytes:_data length:16];
}
- (void)tearDown
{
// Put teardown code here; it will be run once, after the last test case.
[super tearDown];
}
- (void)testBase64
{
NSString *expected = @"zT1PS64MnXIUDCUiy13RRg==";
NSString *actual = _result.base64;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHex
{
NSString *expected = @"CD3D4F4BAE0C9D72140C2522CB5DD146";
NSString *actual = _result.hex;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHexLower
{
NSString *expected = @"cd3d4f4bae0c9d72140c2522cb5dd146";
NSString *actual = _result.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testData
{
NSData *expected = [NSData dataWithBytes:_data length:16];
NSData *actual = _result.data;
XCTAssertEqualObjects(expected, actual, @"");
}
@end
+198
View File
@@ -0,0 +1,198 @@
//
// CocoaSecurity_Tests.m
// CocoaSecurity Tests
//
// Created by Kelp on 2013/10/04.
//
//
#import <XCTest/XCTest.h>
#import "CocoaSecurity.h"
@interface CocoaSecurity_Tests : XCTestCase
@end
@implementation CocoaSecurity_Tests
- (void)setUp
{
[super setUp];
// Put setup code here. This method is called before the invocation of each test method in the class.
}
- (void)tearDown
{
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
- (void)testEncryptAES128
{
NSString *expected = @"zT1PS64MnXIUDCUiy13RRg==";
CocoaSecurityResult *actual = [CocoaSecurity aesEncrypt:@"kelp"
hexKey:@"C40C69779E15780ADAE46C45EB451E23"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.base64, @"");
}
- (void)testEncryptAES192
{
NSString *expected = @"zSpp/l/B/Gp+j0vByqcTVg==";
CocoaSecurityResult *actual = [CocoaSecurity aesEncrypt:@"kelp"
hexKey:@"C40C69779E15780ADAE46C45EB451E230000000000000000"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.base64, @"");
}
- (void)testEncryptAES256
{
NSString *expected = @"WQYg5qvcGyCBY3IF0hPsoQ==";
CocoaSecurityResult *actual = [CocoaSecurity aesEncrypt:@"kelp"
hexKey:@"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.base64, @"");
}
- (void)testEncryptAESDefault
{
NSString *expected = @"ez9uubPneV1d2+rpjnabJw==";
CocoaSecurityResult *actual = [CocoaSecurity aesEncrypt:@"kelp" key:@"key"];
XCTAssertEqualObjects(expected, actual.base64, @"");
}
- (void)testDecryptAES128
{
NSString *expected = @"kelp";
CocoaSecurityResult *actual = [CocoaSecurity aesDecryptWithBase64:@"zT1PS64MnXIUDCUiy13RRg=="
hexKey:@"C40C69779E15780ADAE46C45EB451E23"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.utf8String, @"");
}
- (void)testDecryptAES192
{
NSString *expected = @"kelp";
CocoaSecurityResult *actual = [CocoaSecurity aesDecryptWithBase64:@"zSpp/l/B/Gp+j0vByqcTVg=="
hexKey:@"C40C69779E15780ADAE46C45EB451E230000000000000000"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.utf8String, @"");
}
- (void)testDecryptAES256
{
NSString *expected = @"kelp";
CocoaSecurityResult *actual = [CocoaSecurity aesDecryptWithBase64:@"WQYg5qvcGyCBY3IF0hPsoQ=="
hexKey:@"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.utf8String, @"");
}
- (void)testDecryptAESDefault
{
NSString *expected = @"kelp";
CocoaSecurityResult *actual = [CocoaSecurity aesDecryptWithBase64:@"ez9uubPneV1d2+rpjnabJw==" key:@"key"];
XCTAssertEqualObjects(expected, actual.utf8String, @"");
}
- (void)testMD5
{
NSString *expected = @"C40C69779E15780ADAE46C45EB451E23";
CocoaSecurityResult *md5 = [CocoaSecurity md5:@"kelp"];
NSString *actual = md5.hex;
XCTAssertEqualObjects(expected, actual , @"");
}
- (void)testHmacMD5
{
NSString *expected = @"2DFF352719234D5D6A9839FD8F43C8D2";
CocoaSecurityResult *hmacMd5 = [CocoaSecurity hmacMd5:@"kelp" hmacKey:@"key"];
NSString *actual = hmacMd5.hex;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testSHA1
{
NSString *expected = @"70b6a0495fb444a63297c83de187b1730a18e85a";
CocoaSecurityResult *sha1 = [CocoaSecurity sha1:@"kelp"];
NSString *actual = sha1.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testSHA224
{
NSString *expected = @"1e124576cebf14ecdac30b8ca05ff94deb343f54ebb0eab21559dcf1";
CocoaSecurityResult *sha224 = [CocoaSecurity sha224:@"kelp"];
NSString *actual = sha224.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testSHA256
{
NSString *expected = @"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9";
CocoaSecurityResult *sha256 = [CocoaSecurity sha256:@"kelp"];
NSString *actual = sha256.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testSHA384
{
NSString *expected = @"e0801e06e6eea6257018bc0f2aaf1f7ec23385ce2ac9865fe209322262f323e80c81f65e711e30d162af5638ef8b4334";
CocoaSecurityResult *sha384 = [CocoaSecurity sha384:@"kelp"];
NSString *actual = sha384.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testSHA512
{
NSString *expected = @"af8489a9fb6dcb8973515cdda3366c939ebcc8ac8fb0a7c322f1333babe03655222930ad48b4924f1a1f13c23856bc3c2e1b93cb10c74e72362e5457756517ff";
CocoaSecurityResult *sha512 = [CocoaSecurity sha512:@"kelp"];
NSString *actual = sha512.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHmacSHA1
{
NSString *expected = @"fae888da051e44eb0c57f43935ad82cdbedf482f";
CocoaSecurityResult *sha1 = [CocoaSecurity hmacSha1:@"kelp" hmacKey:@"key"];
NSString *actual = sha1.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHmacSHA224
{
NSString *expected = @"4777556ee573705fcf6194de22947e09562653a84684c4b015a91e0c";
CocoaSecurityResult *sha224 = [CocoaSecurity hmacSha224:@"kelp" hmacKey:@"key"];
NSString *actual = sha224.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHmacSHA256
{
NSString *expected = @"09e6c01ee44e4fc87871d3d8eb5265b67a941e9bf68d1b33851aeeed0114cd33";
CocoaSecurityResult *sha256 = [CocoaSecurity hmacSha256:@"kelp" hmacKey:@"key"];
NSString *actual = sha256.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHmacSHA384
{
NSString *expected = @"99f2a12918f5e0c7e21ef4759ecb8dd882c95af32a204ac83928aa413e1d8e9ed312c29c41e2f3c00a78d448df11d15e";
CocoaSecurityResult *sha384 = [CocoaSecurity hmacSha384:@"kelp" hmacKey:@"key"];
NSString *actual = sha384.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHmacSHA512
{
NSString *expected = @"3807619fdaa2dd77e3dd554a627284406000a5c924db72202af0e6b1832789a94bacc710dc2b7da61fbfd6e1065dfe39085a872538f5b19fde112092c90d893a";
CocoaSecurityResult *sha512 = [CocoaSecurity hmacSha512:@"kelp" hmacKey:@"key"];
NSString *actual = sha512.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
@end
@@ -0,0 +1,2 @@
/* Localized versions of Info.plist keys */