| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/sync/sync_ui_util_mac.h" | 5 #include "chrome/browser/sync/sync_ui_util_mac.h" |
| 6 | 6 |
| 7 #import <Cocoa/Cocoa.h> | 7 #import <Cocoa/Cocoa.h> |
| 8 | 8 |
| 9 #include "base/memory/scoped_nsobject.h" | 9 #include "base/memory/scoped_nsobject.h" |
| 10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
| 11 #include "chrome/app/chrome_command_ids.h" | 11 #include "chrome/app/chrome_command_ids.h" |
| 12 #include "chrome/browser/ui/cocoa/cocoa_test_helper.h" | 12 #include "chrome/browser/ui/cocoa/cocoa_test_helper.h" |
| 13 #include "grit/chromium_strings.h" | 13 #include "grit/chromium_strings.h" |
| 14 #include "grit/generated_resources.h" | 14 #include "grit/generated_resources.h" |
| 15 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
| 16 #include "ui/base/l10n/l10n_util.h" | 16 #include "ui/base/l10n/l10n_util.h" |
| 17 #include "ui/base/l10n/l10n_util_mac.h" | 17 #include "ui/base/l10n/l10n_util_mac.h" |
| 18 | 18 |
| 19 namespace { | 19 namespace { |
| 20 | 20 |
| 21 class SyncStatusUIHelperMacTest : public CocoaTest { | 21 class SyncStatusUIHelperMacTest : public CocoaTest { |
| 22 }; | 22 }; |
| 23 | 23 |
| 24 TEST_F(SyncStatusUIHelperMacTest, UpdateSyncItem) { | 24 TEST_F(SyncStatusUIHelperMacTest, UpdateSyncItem) { |
| 25 scoped_nsobject<NSMenuItem> syncMenuItem( | 25 scoped_nsobject<NSMenuItem> syncMenuItem( |
| 26 [[NSMenuItem alloc] initWithTitle:@"" | 26 [[NSMenuItem alloc] initWithTitle:@"" |
| 27 action:@selector(commandDispatch) | 27 action:@selector(commandDispatch) |
| 28 keyEquivalent:@""]); | 28 keyEquivalent:@""]); |
| 29 [syncMenuItem setTag:IDC_SYNC_BOOKMARKS]; | 29 [syncMenuItem setTag:IDC_SHOW_SYNC_SETUP]; |
| 30 | 30 |
| 31 std::string userName = "foo@example.com"; | 31 std::string userName = "foo@example.com"; |
| 32 | 32 |
| 33 NSString* bookmarksSynced = | 33 NSString* bookmarksSynced = |
| 34 l10n_util::GetNSStringFWithFixup(IDS_SYNC_MENU_SYNCED_LABEL, | 34 l10n_util::GetNSStringFWithFixup(IDS_SYNC_MENU_SYNCED_LABEL, |
| 35 UTF8ToUTF16(userName)); | 35 UTF8ToUTF16(userName)); |
| 36 NSString* bookmarkSyncError = | 36 NSString* bookmarkSyncError = |
| 37 l10n_util::GetNSStringWithFixup(IDS_SYNC_MENU_SYNC_ERROR_LABEL); | 37 l10n_util::GetNSStringWithFixup(IDS_SYNC_MENU_SYNC_ERROR_LABEL); |
| 38 NSString* startSync = | 38 NSString* startSync = |
| 39 l10n_util::GetNSStringFWithFixup( | 39 l10n_util::GetNSStringFWithFixup( |
| (...skipping 25 matching lines...) Expand all Loading... |
| 65 EXPECT_TRUE([[syncMenuItem title] isEqualTo:bookmarksSynced]); | 65 EXPECT_TRUE([[syncMenuItem title] isEqualTo:bookmarksSynced]); |
| 66 EXPECT_TRUE([syncMenuItem isHidden]); | 66 EXPECT_TRUE([syncMenuItem isHidden]); |
| 67 } | 67 } |
| 68 | 68 |
| 69 TEST_F(SyncStatusUIHelperMacTest, UpdateSyncItemWithSeparator) { | 69 TEST_F(SyncStatusUIHelperMacTest, UpdateSyncItemWithSeparator) { |
| 70 scoped_nsobject<NSMenu> menu([[NSMenu alloc] initWithTitle:@""]); | 70 scoped_nsobject<NSMenu> menu([[NSMenu alloc] initWithTitle:@""]); |
| 71 NSMenuItem* syncMenuItem = | 71 NSMenuItem* syncMenuItem = |
| 72 [menu addItemWithTitle:@"" | 72 [menu addItemWithTitle:@"" |
| 73 action:@selector(commandDispatch) | 73 action:@selector(commandDispatch) |
| 74 keyEquivalent:@""]; | 74 keyEquivalent:@""]; |
| 75 [syncMenuItem setTag:IDC_SYNC_BOOKMARKS]; | 75 [syncMenuItem setTag:IDC_SHOW_SYNC_SETUP]; |
| 76 NSMenuItem* followingSeparator = [NSMenuItem separatorItem]; | 76 NSMenuItem* followingSeparator = [NSMenuItem separatorItem]; |
| 77 [menu addItem:followingSeparator]; | 77 [menu addItem:followingSeparator]; |
| 78 | 78 |
| 79 const sync_ui_util::MessageType kStatus = sync_ui_util::PRE_SYNCED; | 79 const sync_ui_util::MessageType kStatus = sync_ui_util::PRE_SYNCED; |
| 80 | 80 |
| 81 [syncMenuItem setHidden:NO]; | 81 [syncMenuItem setHidden:NO]; |
| 82 [followingSeparator setHidden:NO]; | 82 [followingSeparator setHidden:NO]; |
| 83 sync_ui_util::UpdateSyncItemForStatus(syncMenuItem, NO, kStatus, ""); | 83 sync_ui_util::UpdateSyncItemForStatus(syncMenuItem, NO, kStatus, ""); |
| 84 EXPECT_FALSE([followingSeparator isEnabled]); | 84 EXPECT_FALSE([followingSeparator isEnabled]); |
| 85 EXPECT_TRUE([syncMenuItem isHidden]); | 85 EXPECT_TRUE([syncMenuItem isHidden]); |
| 86 EXPECT_TRUE([followingSeparator isHidden]); | 86 EXPECT_TRUE([followingSeparator isHidden]); |
| 87 | 87 |
| 88 [syncMenuItem setHidden:YES]; | 88 [syncMenuItem setHidden:YES]; |
| 89 [followingSeparator setHidden:YES]; | 89 [followingSeparator setHidden:YES]; |
| 90 sync_ui_util::UpdateSyncItemForStatus(syncMenuItem, YES, kStatus, ""); | 90 sync_ui_util::UpdateSyncItemForStatus(syncMenuItem, YES, kStatus, ""); |
| 91 EXPECT_FALSE([followingSeparator isEnabled]); | 91 EXPECT_FALSE([followingSeparator isEnabled]); |
| 92 EXPECT_FALSE([syncMenuItem isHidden]); | 92 EXPECT_FALSE([syncMenuItem isHidden]); |
| 93 EXPECT_FALSE([followingSeparator isHidden]); | 93 EXPECT_FALSE([followingSeparator isHidden]); |
| 94 } | 94 } |
| 95 | 95 |
| 96 TEST_F(SyncStatusUIHelperMacTest, UpdateSyncItemWithNonSeparator) { | 96 TEST_F(SyncStatusUIHelperMacTest, UpdateSyncItemWithNonSeparator) { |
| 97 scoped_nsobject<NSMenu> menu([[NSMenu alloc] initWithTitle:@""]); | 97 scoped_nsobject<NSMenu> menu([[NSMenu alloc] initWithTitle:@""]); |
| 98 NSMenuItem* syncMenuItem = | 98 NSMenuItem* syncMenuItem = |
| 99 [menu addItemWithTitle:@"" | 99 [menu addItemWithTitle:@"" |
| 100 action:@selector(commandDispatch) | 100 action:@selector(commandDispatch) |
| 101 keyEquivalent:@""]; | 101 keyEquivalent:@""]; |
| 102 [syncMenuItem setTag:IDC_SYNC_BOOKMARKS]; | 102 [syncMenuItem setTag:IDC_SHOW_SYNC_SETUP]; |
| 103 NSMenuItem* followingNonSeparator = | 103 NSMenuItem* followingNonSeparator = |
| 104 [menu addItemWithTitle:@"" | 104 [menu addItemWithTitle:@"" |
| 105 action:@selector(commandDispatch) | 105 action:@selector(commandDispatch) |
| 106 keyEquivalent:@""]; | 106 keyEquivalent:@""]; |
| 107 | 107 |
| 108 const sync_ui_util::MessageType kStatus = sync_ui_util::PRE_SYNCED; | 108 const sync_ui_util::MessageType kStatus = sync_ui_util::PRE_SYNCED; |
| 109 | 109 |
| 110 sync_ui_util::UpdateSyncItemForStatus(syncMenuItem, NO, kStatus, ""); | 110 sync_ui_util::UpdateSyncItemForStatus(syncMenuItem, NO, kStatus, ""); |
| 111 EXPECT_TRUE([followingNonSeparator isEnabled]); | 111 EXPECT_TRUE([followingNonSeparator isEnabled]); |
| 112 EXPECT_FALSE([followingNonSeparator isHidden]); | 112 EXPECT_FALSE([followingNonSeparator isHidden]); |
| 113 | 113 |
| 114 sync_ui_util::UpdateSyncItemForStatus(syncMenuItem, YES, kStatus, ""); | 114 sync_ui_util::UpdateSyncItemForStatus(syncMenuItem, YES, kStatus, ""); |
| 115 EXPECT_TRUE([followingNonSeparator isEnabled]); | 115 EXPECT_TRUE([followingNonSeparator isEnabled]); |
| 116 EXPECT_FALSE([followingNonSeparator isHidden]); | 116 EXPECT_FALSE([followingNonSeparator isHidden]); |
| 117 } | 117 } |
| 118 | 118 |
| 119 } // namespace | 119 } // namespace |
| OLD | NEW |