diff options
Diffstat (limited to 'Foundation/GTMNSAppleEventDescriptor+HandlerTest.m')
-rw-r--r-- | Foundation/GTMNSAppleEventDescriptor+HandlerTest.m | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/Foundation/GTMNSAppleEventDescriptor+HandlerTest.m b/Foundation/GTMNSAppleEventDescriptor+HandlerTest.m new file mode 100644 index 0000000..769e014 --- /dev/null +++ b/Foundation/GTMNSAppleEventDescriptor+HandlerTest.m @@ -0,0 +1,70 @@ +// +// NSAppleEventDescriptor+HandlerTest.m +// +// Copyright 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 <Carbon/Carbon.h> +#import "GTMSenTestCase.h" +#import "GTMNSAppleEventDescriptor+Foundation.h" +#import "GTMNSAppleEventDescriptor+Handler.h" +#import "GTMUnitTestDevLog.h" + +@interface GTMNSAppleEventDescriptor_HandlerTest : GTMTestCase +@end + +@implementation GTMNSAppleEventDescriptor_HandlerTest +// Most of this gets tested by the NSAppleScript+Handler tests. +- (void)testPositionalHandlers { + NSAppleEventDescriptor *desc + = [NSAppleEventDescriptor gtm_descriptorWithPositionalHandler:nil + parametersArray:[NSArray array]]; + STAssertNil(desc, @"got a desc?"); + + desc = [NSAppleEventDescriptor gtm_descriptorWithPositionalHandler:@"happy" + parametersDescriptor:nil]; + STAssertNotNil(desc, @"didn't get a desc?"); + + desc = [NSAppleEventDescriptor gtm_descriptorWithLabeledHandler:nil + labels:nil + parameters:nil + count:0]; + STAssertNil(desc, @"got a desc?"); + + AEKeyword keys[] = { keyASPrepositionGiven }; + NSString *string = @"foo"; + [GTMUnitTestDevLog expectString:@"Must pass in dictionary for " + "keyASPrepositionGiven (got foo)"]; + desc = [NSAppleEventDescriptor gtm_descriptorWithLabeledHandler:@"happy" + labels:keys + parameters:&string + count:1]; + STAssertNil(desc, @"got a desc?"); + + NSDictionary *dict = [NSDictionary dictionaryWithObject:@"bart" + forKey:[NSNumber numberWithInt:4]]; + [GTMUnitTestDevLog expectString:@"Keys must be of type NSString or " + "GTMFourCharCode: 4"]; + [GTMUnitTestDevLog expectPattern:@"Dictionary for keyASPrepositionGiven must " + "be a user record field dictionary \\(got .*"]; + desc = [NSAppleEventDescriptor gtm_descriptorWithLabeledHandler:@"happy" + labels:keys + parameters:&dict + count:1]; + STAssertNil(desc, @"got a desc?"); + +} + +@end |