aboutsummaryrefslogtreecommitdiff
path: root/AppKit/GTMUILocalizerTest.m
diff options
context:
space:
mode:
authorGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2009-04-15 19:45:40 +0000
committerGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2009-04-15 19:45:40 +0000
commitb8787b78e65a3b1ed18c406b0e2ea5232af7ac14 (patch)
tree91f8fdd516e97bec098e78081e8fd34e65eb432a /AppKit/GTMUILocalizerTest.m
parentf19d4cb3d479776d13e245009761d52841a09870 (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.m98
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