mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-09-07 03:07:12 +00:00
more robust tests for CPUserDefaults
This commit is contained in:
@@ -16,10 +16,23 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
@import <Foundation/Foundation.j>
|
||||
@import <AppKit/AppKit.j>
|
||||
@import "../../Foundation/CPUserDefaults.j"
|
||||
|
||||
CPUserDefaultsTestKey1 = @"KEY1";
|
||||
CPUserDefaultsTestKey2 = @"KEY2";
|
||||
|
||||
@implementation CPUserDefaultsCookieStore (test)
|
||||
|
||||
- (void)setData:(CPData)aData
|
||||
{
|
||||
// deactive real storage
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
//CPLogRegister(CPLogPrint)
|
||||
|
||||
@implementation CPUserDefaultsTest : OJTestCase
|
||||
{
|
||||
@@ -33,45 +46,110 @@
|
||||
|
||||
- (void)tearDown
|
||||
{
|
||||
[target removeObjectForKey:@"TESTBOOLKEY"];
|
||||
[target removeObjectForKey:@"TESTOBJECTKEY"];
|
||||
[CPUserDefaults resetStandardUserDefaults];
|
||||
}
|
||||
|
||||
- (void)testSetBoolForKey
|
||||
- (void)testAppDefault
|
||||
{
|
||||
[target setBool:YES forKey:@"TESTBOOLKEY"];
|
||||
var appDefaults = [CPDictionary dictionaryWithObjectsAndKeys:YES, CPUserDefaultsTestKey1, @"Hello!", CPUserDefaultsTestKey2];
|
||||
[target registerDefaults:appDefaults];
|
||||
|
||||
[self assertTrue:[target boolForKey:CPUserDefaultsTestKey1]];
|
||||
[self assert:[target objectForKey:CPUserDefaultsTestKey2] equals:@"Hello!"];
|
||||
|
||||
[self assertTrue:[target boolForKey:@"TESTBOOLKEY"]];
|
||||
}
|
||||
|
||||
|
||||
- (void)testSetObjectForKey
|
||||
{
|
||||
[target setObject:[CPArray arrayWithObjects:@"cell1", @"cell2"] forKey:@"TESTOBJECTKEY"];
|
||||
[target setObject:[CPArray arrayWithObjects:@"cell1", @"cell2"] forKey:CPUserDefaultsTestKey1];
|
||||
|
||||
var cell1 = [[target objectForKey:@"TESTOBJECTKEY"] objectAtIndex:0],
|
||||
cell2 = [[target objectForKey:@"TESTOBJECTKEY"] objectAtIndex:1];
|
||||
var cell1 = [[target objectForKey:CPUserDefaultsTestKey1] objectAtIndex:0],
|
||||
cell2 = [[target objectForKey:CPUserDefaultsTestKey1] objectAtIndex:1];
|
||||
|
||||
[self assert:cell1 equals:@"cell1"];
|
||||
[self assert:cell2 equals:@"cell2"];
|
||||
}
|
||||
|
||||
- (void)testRemoveObjectForKey
|
||||
- (void)testBool
|
||||
{
|
||||
[target setBool:YES forKey:@"TESTREMOVE"];
|
||||
[target setBool:YES forKey:CPUserDefaultsTestKey1];
|
||||
[self assertTrue:[target boolForKey:CPUserDefaultsTestKey1]];
|
||||
|
||||
[target removeObjectForKey:@"TESTREMOVE"];
|
||||
|
||||
[self assert:[target boolForKey:@"TESTREMOVE"] equals:NO];
|
||||
[target removeObjectForKey:CPUserDefaultsTestKey1];
|
||||
[self assertFalse:[target boolForKey:CPUserDefaultsTestKey1]];
|
||||
}
|
||||
|
||||
- (void)testAppDefault
|
||||
- (void)testInteger
|
||||
{
|
||||
var appDefaults = [CPDictionary dictionaryWithObjectsAndKeys:YES, @"TESTAPPDEF-A", @"Hello!", @"TESTAPPDEF-B"];
|
||||
[target registerDefaults:appDefaults];
|
||||
[target setInteger:1 forKey:CPUserDefaultsTestKey1];
|
||||
[self assert:[target integerForKey:CPUserDefaultsTestKey1] equals:1];
|
||||
|
||||
[self assert:[target boolForKey:@"TESTAPPDEF-A"] equals:YES];
|
||||
[self assert:[target objectForKey:@"TESTAPPDEF-B"] equals:@"Hello!"];
|
||||
[target removeObjectForKey:CPUserDefaultsTestKey1];
|
||||
[self assert:[target integerForKey:CPUserDefaultsTestKey1] equals:0];
|
||||
}
|
||||
|
||||
- (void)testFloat
|
||||
{
|
||||
[target setFloat:1.0 forKey:CPUserDefaultsTestKey1];
|
||||
[self assert:[target floatForKey:CPUserDefaultsTestKey1] equals:1.0];
|
||||
|
||||
[target removeObjectForKey:CPUserDefaultsTestKey1];
|
||||
[self assert:[target floatForKey:CPUserDefaultsTestKey1] equals:0.0];
|
||||
}
|
||||
|
||||
- (void)testDouble
|
||||
{
|
||||
[target setDouble:1.0 forKey:CPUserDefaultsTestKey1];
|
||||
[self assert:[target doubleForKey:CPUserDefaultsTestKey1] equals:1.0];
|
||||
|
||||
[target removeObjectForKey:CPUserDefaultsTestKey1];
|
||||
[self assert:[target doubleForKey:CPUserDefaultsTestKey1] equals:0.0];
|
||||
}
|
||||
|
||||
- (void)testString
|
||||
{
|
||||
[target setString:@"Hello World" forKey:CPUserDefaultsTestKey1];
|
||||
[self assert:[target stringForKey:CPUserDefaultsTestKey1] equals:@"Hello World"];
|
||||
|
||||
[target removeObjectForKey:CPUserDefaultsTestKey1];
|
||||
[self assert:[target stringForKey:CPUserDefaultsTestKey1] equals:nil];
|
||||
}
|
||||
|
||||
- (void)testURL
|
||||
{
|
||||
[target setURL:[CPURL URLWithString:@"http://cappuccino.org"] forKey:CPUserDefaultsTestKey1];
|
||||
[self assert:[[target URLForKey:CPUserDefaultsTestKey1] class] equals:CPURL];
|
||||
[self assert:[[target URLForKey:CPUserDefaultsTestKey1] absoluteString] equals:@"http://cappuccino.org"];
|
||||
|
||||
[target setURL:@"http://cappuccino.org" forKey:CPUserDefaultsTestKey1];
|
||||
[self assert:[[target URLForKey:CPUserDefaultsTestKey1] class] equals:CPURL];
|
||||
[self assert:[[target URLForKey:CPUserDefaultsTestKey1] absoluteString] equals:@"http://cappuccino.org"];
|
||||
|
||||
[target removeObjectForKey:CPUserDefaultsTestKey1];
|
||||
[self assert:[target URLForKey:CPUserDefaultsTestKey1] equals:nil];
|
||||
}
|
||||
|
||||
- (void)testArray
|
||||
{
|
||||
[target setObject:[@"a", @"b", 3] forKey:CPUserDefaultsTestKey1];
|
||||
[self assert:[[target arrayForKey:CPUserDefaultsTestKey1] class] equals:CPArray];
|
||||
[self assert:[[target arrayForKey:CPUserDefaultsTestKey1] objectAtIndex:1] equals:@"b"];
|
||||
[self assert:[[target arrayForKey:CPUserDefaultsTestKey1] objectAtIndex:2] equals:3];
|
||||
[self assert:[target stringArrayForKey:CPUserDefaultsTestKey1] equals:nil];
|
||||
|
||||
[target removeObjectForKey:CPUserDefaultsTestKey1];
|
||||
[self assert:[target arrayForKey:CPUserDefaultsTestKey1] equals:nil];
|
||||
}
|
||||
|
||||
- (void)testData
|
||||
{
|
||||
[target setObject:[CPData dataWithRawString:@"data"] forKey:CPUserDefaultsTestKey1];
|
||||
[self assert:[[target dataForKey:CPUserDefaultsTestKey1] class] equals:CPData];
|
||||
|
||||
[target removeObjectForKey:CPUserDefaultsTestKey1];
|
||||
[self assert:[target dataForKey:CPUserDefaultsTestKey1] equals:nil];
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user