Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(472)

Unified Diff: chrome/browser/cocoa/browser_window_controller_unittest.mm

Issue 363017: Added menu items for sync to Chrome/wrench menu (Closed)
Patch Set: Fixed release-mode warnings. Created 11 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/cocoa/browser_window_controller.mm ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/cocoa/browser_window_controller_unittest.mm
diff --git a/chrome/browser/cocoa/browser_window_controller_unittest.mm b/chrome/browser/cocoa/browser_window_controller_unittest.mm
index b5f504efa594c30506772a0a7859bc3b30a0b7df..e2b7451ae76d9fc7850f8147a19e49268a0637f2 100644
--- a/chrome/browser/cocoa/browser_window_controller_unittest.mm
+++ b/chrome/browser/cocoa/browser_window_controller_unittest.mm
@@ -2,19 +2,23 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "app/l10n_util_mac.h"
#include "base/scoped_nsobject.h"
#include "base/scoped_nsautorelease_pool.h"
#include "base/scoped_ptr.h"
+#include "chrome/app/chrome_dll_resource.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/browser_window.h"
#include "chrome/browser/cocoa/browser_test_helper.h"
#include "chrome/browser/cocoa/browser_window_controller.h"
#include "chrome/browser/cocoa/cocoa_test_helper.h"
#include "chrome/browser/cocoa/find_bar_bridge.h"
+#include "chrome/browser/sync/sync_status_ui_helper.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/pref_service.h"
#include "chrome/test/testing_browser_process.h"
#include "chrome/test/testing_profile.h"
+#include "grit/generated_resources.h"
@interface BrowserWindowController (JustForTesting)
// Already defined in BWC.
@@ -429,6 +433,77 @@ TEST_F(BrowserWindowControllerTest, TestFindBarOnTop) {
EXPECT_GT(findBar_index, bookmark_index);
}
+TEST_F(BrowserWindowControllerTest, TestSyncMenuItem) {
+ scoped_nsobject<NSMenuItem> syncMenuItem(
+ [[NSMenuItem alloc] initWithTitle:@""
+ action:@selector(commandDispatch)
+ keyEquivalent:@""]);
+ [syncMenuItem setTag:IDC_SYNC_BOOKMARKS];
+
+ NSString* bookmarksSynced =
+ l10n_util::GetNSStringWithFixup(IDS_SYNC_MENU_BOOKMARKS_SYNCED_LABEL);
+ NSString* bookmarkSyncError =
+ l10n_util::GetNSStringWithFixup(IDS_SYNC_MENU_BOOKMARK_SYNC_ERROR_LABEL);
+ NSString* startSync =
+ l10n_util::GetNSStringWithFixup(IDS_SYNC_START_SYNC_BUTTON_LABEL);
+
+ [syncMenuItem setTitle:@""];
+ [syncMenuItem setHidden:NO];
+ [controller_ updateSyncItem:syncMenuItem
+ syncEnabled:NO
+ status:SyncStatusUIHelper::PRE_SYNCED];
+ EXPECT_TRUE([[syncMenuItem title] isEqualTo:startSync]);
+ EXPECT_TRUE([syncMenuItem isHidden]);
+
+ [syncMenuItem setTitle:@""];
+ [syncMenuItem setHidden:YES];
+ [controller_ updateSyncItem:syncMenuItem
+ syncEnabled:YES
+ status:SyncStatusUIHelper::SYNC_ERROR];
+ EXPECT_TRUE([[syncMenuItem title] isEqualTo:bookmarkSyncError]);
+ EXPECT_FALSE([syncMenuItem isHidden]);
+
+ [syncMenuItem setTitle:@""];
+ [syncMenuItem setHidden:NO];
+ [controller_ updateSyncItem:syncMenuItem
+ syncEnabled:NO
+ status:SyncStatusUIHelper::SYNCED];
+ EXPECT_TRUE([[syncMenuItem title] isEqualTo:bookmarksSynced]);
+ EXPECT_TRUE([syncMenuItem isHidden]);
+}
+
+TEST_F(BrowserWindowControllerTest, TestSyncMenuItemWithSeparator) {
+ scoped_nsobject<NSMenu> menu([[NSMenu alloc] initWithTitle:@""]);
+ NSMenuItem* syncMenuItem =
+ [menu addItemWithTitle:@""
+ action:@selector(commandDispatch)
+ keyEquivalent:@""];
+ [syncMenuItem setTag:IDC_SYNC_BOOKMARKS];
+ NSMenuItem* following_separator = [NSMenuItem separatorItem];
+ [menu addItem:following_separator];
+
+ const SyncStatusUIHelper::MessageType kStatus =
+ SyncStatusUIHelper::PRE_SYNCED;
+
+ [syncMenuItem setHidden:NO];
+ [following_separator setHidden:NO];
+ [controller_ updateSyncItem:syncMenuItem
+ syncEnabled:NO
+ status:kStatus];
+ EXPECT_FALSE([following_separator isEnabled]);
+ EXPECT_TRUE([syncMenuItem isHidden]);
+ EXPECT_TRUE([following_separator isHidden]);
+
+ [syncMenuItem setHidden:YES];
+ [following_separator setHidden:YES];
+ [controller_ updateSyncItem:syncMenuItem
+ syncEnabled:YES
+ status:kStatus];
+ EXPECT_FALSE([following_separator isEnabled]);
+ EXPECT_FALSE([syncMenuItem isHidden]);
+ EXPECT_FALSE([following_separator isHidden]);
+}
+
@interface BrowserWindowControllerFakeFullscreen : BrowserWindowController {
@private
// We release the window ourselves, so we don't have to rely on the unittest
« no previous file with comments | « chrome/browser/cocoa/browser_window_controller.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698