diff --git a/Tests/Foundation/CPUserDefaultsTest.j b/Tests/Foundation/CPUserDefaultsTest.j
index fd45e2b4d..dfd782ff8 100644
--- a/Tests/Foundation/CPUserDefaultsTest.j
+++ b/Tests/Foundation/CPUserDefaultsTest.j
@@ -16,10 +16,23 @@
* along with this program. If not, see .
*/
-
@import
@import
+@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
\ No newline at end of file