This repository was archived by the owner on Aug 16, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 14
This repository was archived by the owner on Aug 16, 2023. It is now read-only.
Support for nested collections #9
Copy link
Copy link
Open
Description
All three of the following tests dealing with nested collections fail, even under 0.3.0.
NSString *RKURLEncodedStringFromDictionaryWithEncoding(NSDictionary *dictionary, NSStringEncoding encoding)
{
return [CMDQueryStringSerialization queryStringWithDictionary:dictionary];
}
- (void)testShouldEncodeDictionaries
{
NSDictionary *subDictionary = [NSDictionary dictionaryWithObject:@"value1" forKey:@"key1"];
NSDictionary *dictionary = [NSDictionary dictionaryWithObject:subDictionary forKey:@"aDictionary"];
NSString *expected = @"aDictionary[key1]=value1";
NSString *actual = RKURLEncodedStringFromDictionaryWithEncoding(dictionary, NSUTF8StringEncoding);
expect(actual).to.equal(expected);
}
- (void)testShouldEncodeArrayOfDictionaries
{
NSDictionary *dictA = @{@"a": @"x", @"b": @"y"};
NSDictionary *dictB = @{@"a": @"1", @"b": @"2"};
NSArray *array = [NSArray arrayWithObjects:dictA, dictB, nil];
NSDictionary *dictRoot = @{@"root" : array};
NSString *expected = @"root[][a]=x&root[][b]=y&root[][a]=1&root[][b]=2";
NSString *actual = RKURLEncodedStringFromDictionaryWithEncoding(dictRoot, NSUTF8StringEncoding);
expect(actual).to.equal(expected);
}
- (void)testShouldEncodeRecursiveArrays
{
NSArray *recursiveArray3 = [NSArray arrayWithObjects:@"item1", @"item2", nil];
NSArray *recursiveArray2 = [NSArray arrayWithObject:recursiveArray3];
NSArray *recursiveArray1 = [NSArray arrayWithObject:recursiveArray2];
NSDictionary *dictionary = [NSDictionary dictionaryWithObject:recursiveArray1 forKey:@"recursiveArray"];
NSString *expected = @"recursiveArray[][][]=item1&recursiveArray[][][]=item2";
NSString *actual = RKURLEncodedStringFromDictionaryWithEncoding(dictionary, NSUTF8StringEncoding);
expect(actual).to.equal(expected);
}Metadata
Metadata
Assignees
Labels
No labels