| Index: chrome/browser/cocoa/about_window_controller_unittest.mm
|
| ===================================================================
|
| --- chrome/browser/cocoa/about_window_controller_unittest.mm (revision 30049)
|
| +++ chrome/browser/cocoa/about_window_controller_unittest.mm (working copy)
|
| @@ -5,6 +5,7 @@
|
| #import <Cocoa/Cocoa.h>
|
|
|
| #import "base/scoped_nsobject.h"
|
| +#import "chrome/app/keystone_glue.h"
|
| #import "chrome/browser/cocoa/about_window_controller.h"
|
| #include "chrome/browser/cocoa/browser_test_helper.h"
|
| #include "chrome/browser/cocoa/cocoa_test_helper.h"
|
| @@ -13,6 +14,23 @@
|
|
|
| namespace {
|
|
|
| +void PostAutoupdateStatusNotification(AutoupdateStatus status,
|
| + NSString* version) {
|
| + NSNumber* statusNumber = [NSNumber numberWithInt:status];
|
| + NSMutableDictionary* dictionary =
|
| + [NSMutableDictionary dictionaryWithObjects:&statusNumber
|
| + forKeys:&kAutoupdateStatusStatus
|
| + count:1];
|
| + if (version) {
|
| + [dictionary setObject:version forKey:kAutoupdateStatusVersion];
|
| + }
|
| +
|
| + NSNotificationCenter* center = [NSNotificationCenter defaultCenter];
|
| + [center postNotificationName:kAutoupdateStatusNotification
|
| + object:nil
|
| + userInfo:dictionary];
|
| +}
|
| +
|
| class AboutWindowControllerTest : public PlatformTest {
|
| public:
|
| virtual void SetUp() {
|
| @@ -27,7 +45,7 @@
|
| };
|
|
|
| TEST_F(AboutWindowControllerTest, TestCopyright) {
|
| - NSString* text = [BuildAboutWindowLegalTextBlock() string];
|
| + NSString* text = [[AboutWindowController legalTextBlock] string];
|
|
|
| // Make sure we have the word "Copyright" in it, which is present in all
|
| // locales.
|
| @@ -36,7 +54,7 @@
|
| }
|
|
|
| TEST_F(AboutWindowControllerTest, RemovesLinkAnchors) {
|
| - NSString* text = [BuildAboutWindowLegalTextBlock() string];
|
| + NSString* text = [[AboutWindowController legalTextBlock] string];
|
|
|
| // Make sure that we removed the "BEGIN_LINK" and "END_LINK" anchors.
|
| NSRange range = [text rangeOfString:@"BEGIN_LINK"];
|
| @@ -47,7 +65,7 @@
|
| }
|
|
|
| TEST_F(AboutWindowControllerTest, AwakeNibSetsString) {
|
| - NSAttributedString* legal_text = BuildAboutWindowLegalTextBlock();
|
| + NSAttributedString* legal_text = [AboutWindowController legalTextBlock];
|
| NSAttributedString* text_storage =
|
| [[about_window_controller_ legalText] textStorage];
|
|
|
| @@ -60,7 +78,7 @@
|
|
|
| // Not enabled until we know if updates are available.
|
| ASSERT_FALSE([button isEnabled]);
|
| - [about_window_controller_ upToDateCheckCompleted:YES latestVersion:nil];
|
| + PostAutoupdateStatusNotification(kAutoupdateAvailable, nil);
|
| ASSERT_TRUE([button isEnabled]);
|
|
|
| // Make sure the button is hooked up
|
| @@ -75,16 +93,52 @@
|
| // Doesn't confirm correctness, but does confirm something happens.
|
| TEST_F(AboutWindowControllerTest, TestCallbacks) {
|
| NSString *lastText = [[about_window_controller_ updateText]
|
| - stringValue];
|
| - [about_window_controller_ upToDateCheckCompleted:NO latestVersion:@"foo"];
|
| + stringValue];
|
| + PostAutoupdateStatusNotification(kAutoupdateCurrent, @"foo");
|
| ASSERT_FALSE([lastText isEqual:[[about_window_controller_ updateText]
|
| - stringValue]]);
|
| + stringValue]]);
|
|
|
| lastText = [[about_window_controller_ updateText] stringValue];
|
| - [about_window_controller_ updateCompleted:NO installs:0];
|
| + PostAutoupdateStatusNotification(kAutoupdateCurrent, @"foo");
|
| + ASSERT_TRUE([lastText isEqual:[[about_window_controller_ updateText]
|
| + stringValue]]);
|
| +
|
| + lastText = [[about_window_controller_ updateText] stringValue];
|
| + PostAutoupdateStatusNotification(kAutoupdateCurrent, @"bar");
|
| + ASSERT_FALSE([lastText isEqual:[[about_window_controller_ updateText]
|
| + stringValue]]);
|
| +
|
| + lastText = [[about_window_controller_ updateText] stringValue];
|
| + PostAutoupdateStatusNotification(kAutoupdateAvailable, nil);
|
| + ASSERT_FALSE([lastText isEqual:[[about_window_controller_ updateText]
|
| + stringValue]]);
|
| +
|
| + lastText = [[about_window_controller_ updateText] stringValue];
|
| + PostAutoupdateStatusNotification(kAutoupdateCheckFailed, nil);
|
| + ASSERT_FALSE([lastText isEqual:[[about_window_controller_ updateText]
|
| + stringValue]]);
|
| +
|
| +#if 0
|
| + // TODO(mark): The kAutoupdateInstalled portion of the test is disabled
|
| + // because it leaks restart dialogs. If the About box is revised to use
|
| + // a button within the box to advise a restart instead of popping dialogs,
|
| + // these tests should be enabled.
|
| +
|
| + lastText = [[about_window_controller_ updateText] stringValue];
|
| + PostAutoupdateStatusNotification(kAutoupdateInstalled, @"ver");
|
| + ASSERT_FALSE([lastText isEqual:[[about_window_controller_ updateText]
|
| + stringValue]]);
|
| +
|
| + lastText = [[about_window_controller_ updateText] stringValue];
|
| + PostAutoupdateStatusNotification(kAutoupdateInstalled, nil);
|
| + ASSERT_FALSE([lastText isEqual:[[about_window_controller_ updateText]
|
| + stringValue]]);
|
| +#endif
|
| +
|
| + lastText = [[about_window_controller_ updateText] stringValue];
|
| + PostAutoupdateStatusNotification(kAutoupdateInstallFailed, nil);
|
| ASSERT_FALSE([lastText isEqual:[[about_window_controller_
|
| - updateText] stringValue]]);
|
| + updateText] stringValue]]);
|
| }
|
|
|
| } // namespace
|
| -
|
|
|