From 80d493da05c8d461d74bfaa919ffc487be03ffe6 Mon Sep 17 00:00:00 2001 From: thomasvl Date: Fri, 16 May 2008 20:47:42 +0000 Subject: Standardize the reverse dns names for errors, notifications, etc. iPhone unit test framework didn't run tearDown on failures. Add String and Dictionary URLArgument support and tests. --- Foundation/GTMNSDictionary+URLArguments.m | 40 +++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Foundation/GTMNSDictionary+URLArguments.m (limited to 'Foundation/GTMNSDictionary+URLArguments.m') diff --git a/Foundation/GTMNSDictionary+URLArguments.m b/Foundation/GTMNSDictionary+URLArguments.m new file mode 100644 index 0000000..d67572c --- /dev/null +++ b/Foundation/GTMNSDictionary+URLArguments.m @@ -0,0 +1,40 @@ +// +// GTMNSDictionary+URLArguments.m +// +// Copyright 2006-2008 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); you may not +// use this file except in compliance with the License. You may obtain a copy +// of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations under +// the License. +// + +#import "GTMNSDictionary+URLArguments.h" +#import "GTMNSString+URLArguments.h" +#import "GTMMethodCheck.h" + +@implementation NSDictionary (GTMNSDictionaryURLArgumentsAdditions) + +GTM_METHOD_CHECK(NSString, gtm_stringByEscapingForURLArgument); + +- (NSString *)gtm_httpArgumentsString { + NSMutableArray* arguments = [NSMutableArray arrayWithCapacity:[self count]]; + NSEnumerator* keyEnumerator = [self keyEnumerator]; + NSString* key; + while ((key = [keyEnumerator nextObject])) { + [arguments addObject:[NSString stringWithFormat:@"%@=%@", + [key gtm_stringByEscapingForURLArgument], + [[[self objectForKey:key] description] gtm_stringByEscapingForURLArgument]]]; + } + + return [arguments componentsJoinedByString:@"&"]; +} + +@end -- cgit v1.2.3