mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-08-27 05:57:04 +00:00
70 lines
2.3 KiB
Plaintext
70 lines
2.3 KiB
Plaintext
@import <Foundation/CPArray.j>
|
|
@import <Foundation/CPData.j>
|
|
@import <Foundation/CPDictionary.j>
|
|
@import <Foundation/CPKeyedArchiver.j>
|
|
@import <Foundation/CPNumber.j>
|
|
|
|
@implementation CPDataTest : OJTestCase
|
|
{
|
|
}
|
|
|
|
- (void)testPlistObjects
|
|
{
|
|
var string = @"Hello World",
|
|
data = [CPData dataWithPlistObject:string];
|
|
|
|
[self assert:[data rawString] equals:@"280NPLIST;1.0;S;11;Hello World"];
|
|
[self assert:[data plistObject] equals:@"Hello World"];
|
|
|
|
data = [CPData dataWithRawString:@"280NPLIST;1.0;S;11;Hello World"];
|
|
|
|
[self assert:[data rawString] equals:@"280NPLIST;1.0;S;11;Hello World"];
|
|
[self assert:[data plistObject] equals:@"Hello World"];
|
|
|
|
var array = [0, 1.0, "Two"];
|
|
|
|
data = [CPData dataWithPlistObject:array];
|
|
|
|
[self assert:[data rawString] equals:@"280NPLIST;1.0;A;d;1;0d;1;1S;3;TwoE;"];
|
|
[self assert:[data plistObject] equals:array];
|
|
|
|
data = [CPData dataWithRawString:@"280NPLIST;1.0;A;d;1;0d;1;1S;3;TwoE;"];
|
|
|
|
[self assert:[data rawString] equals:@"280NPLIST;1.0;A;d;1;0d;1;1S;3;TwoE;"];
|
|
[self assert:[[data plistObject] isEqual:array] equals:true];
|
|
|
|
var dictionary = [CPDictionary dictionaryWithObject:array forKey:@"array"];
|
|
|
|
data = [CPData dataWithPlistObject:dictionary];
|
|
|
|
[self assert:[data rawString] equals:@"280NPLIST;1.0;D;K;5;arrayA;d;1;0d;1;1S;3;TwoE;E;"];
|
|
[self assert:[data plistObject] equals:dictionary];
|
|
|
|
data = [CPData dataWithRawString:@"280NPLIST;1.0;D;K;5;arrayA;d;1;0d;1;1S;3;TwoE;E;"];
|
|
|
|
[self assert:[data rawString] equals:@"280NPLIST;1.0;D;K;5;arrayA;d;1;0d;1;1S;3;TwoE;E;"];
|
|
[self assert:[[data plistObject] isEqual:dictionary] equals:true];
|
|
|
|
[self assertNull:[data JSONObject]];
|
|
}
|
|
|
|
- (void)testJSONObjects
|
|
{
|
|
var object = { first: { one:1 }, second: { two:2 } },
|
|
data = [CPData dataWithJSONObject:object];
|
|
|
|
[self assert:[data rawString] equals:JSON.stringify(object)];
|
|
[self assert:[data JSONObject] equals:object];
|
|
|
|
[self assertNull:[data plistObject]];
|
|
|
|
data = [CPData dataWithRawString:"{\"first\":{\"one\":1},\"second\":{\"two\":2}}"];
|
|
|
|
[self assert:[data rawString] equals:JSON.stringify(object)];
|
|
[self assertNoThrow:function () { require("assert").deepEqual([data JSONObject], object); }];
|
|
|
|
[self assertNull:[data plistObject]];
|
|
}
|
|
|
|
@end
|