diff options
author | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2009-04-15 19:45:40 +0000 |
---|---|---|
committer | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2009-04-15 19:45:40 +0000 |
commit | b8787b78e65a3b1ed18c406b0e2ea5232af7ac14 (patch) | |
tree | 91f8fdd516e97bec098e78081e8fd34e65eb432a /AppKit/GTMUILocalizerTest.m | |
parent | f19d4cb3d479776d13e245009761d52841a09870 (diff) |
[Author: dmaclach]
Added GTMUILocalizer for localizing UIs. 100% code coverage from tests.
DELTA=1956 (1940 added, 8 deleted, 8 changed)
R=thomasvl
Diffstat (limited to 'AppKit/GTMUILocalizerTest.m')
-rw-r--r-- | AppKit/GTMUILocalizerTest.m | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/AppKit/GTMUILocalizerTest.m b/AppKit/GTMUILocalizerTest.m new file mode 100644 index 0000000..fb92b52 --- /dev/null +++ b/AppKit/GTMUILocalizerTest.m @@ -0,0 +1,98 @@ +// +// GTMUILocalizerTest.m +// +// Copyright 2009 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 "GTMSenTestCase.h" +#import "GTMUILocalizerTest.h" +#import "GTMNSObject+UnitTesting.h" +#import "GTMUILocalizer.h" + +@interface GTMUILocalizerTest : GTMTestCase +@end + +@implementation GTMUILocalizerTest +- (void)testWindowLocalization { + GTMUILocalizerTestWindowController *controller + = [[GTMUILocalizerTestWindowController alloc] init]; + NSWindow *window = [controller window]; + STAssertNotNil(window, nil); + GTMAssertObjectStateEqualToStateNamed(window, + @"GTMUILocalizerWindow1State", nil); + + NSBundle *bundle = [NSBundle bundleForClass:[self class]]; + GTMUILocalizer *localizer = [[GTMUILocalizer alloc] initWithBundle:bundle]; + window = [controller otherWindow]; + STAssertNotNil(window, nil); + [localizer localizeObject:window recursively:YES]; + GTMAssertObjectStateEqualToStateNamed(window, + @"GTMUILocalizerWindow2State", nil); + NSMenu *menu = [controller otherMenu]; + STAssertNotNil(menu, nil); + [localizer localizeObject:menu recursively:YES]; + GTMAssertObjectStateEqualToStateNamed(menu, + @"GTMUILocalizerMenuState", nil); + [localizer release]; + [controller release]; +} + +#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 +- (void)testViewLocalization { + GTMUILocalizerTestViewController *controller + = [[GTMUILocalizerTestViewController alloc] init]; + NSView *view = [controller view]; + STAssertNotNil(view, nil); + GTMAssertObjectStateEqualToStateNamed(view, + @"GTMUILocalizerView1State", nil); + + NSBundle *bundle = [NSBundle bundleForClass:[self class]]; + GTMUILocalizer *localizer = [[GTMUILocalizer alloc] initWithBundle:bundle]; + view = [controller otherView]; + STAssertNotNil(view, nil); + [localizer localizeObject:view recursively:YES]; + GTMAssertObjectStateEqualToStateNamed(view, @"GTMUILocalizerView2State", nil); + [localizer release]; + [controller release]; +} +#endif // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 +@end + +@implementation GTMUILocalizerTestWindowController +- (id)init { + return [self initWithWindowNibName:@"GTMUILocalizerTestWindow"]; +} + +- (NSWindow *)otherWindow { + return otherWindow_; +} + +- (NSMenu *)otherMenu { + return otherMenu_; +} +@end + +#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 +@implementation GTMUILocalizerTestViewController +- (id)init { + NSBundle *bundle = [NSBundle bundleForClass:[self class]]; + return [self initWithNibName:@"GTMUILocalizerTestView" bundle:bundle]; +} + +- (NSView *)otherView { + return otherView_; +} +@end +#endif |