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

Side by Side Diff: chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_hover_state_unittest.mm

Issue 8141003: [Mac] Restore the old bookmark menus now that the experiment is over. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 2 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #import <Cocoa/Cocoa.h>
6
7 #include "base/message_loop.h"
8 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_controller.h"
9 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_folder_hover_state.h"
10 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
11
12 namespace {
13
14 class BookmarkBarFolderHoverStateTest : public CocoaTest {
15 };
16
17 // Hover state machine interface.
18 // A strict call order is implied with these calls. It is ONLY valid to make
19 // these specific state transitions.
20 TEST_F(BookmarkBarFolderHoverStateTest, HoverState) {
21 MessageLoopForUI message_loop;
22 scoped_nsobject<BookmarkBarFolderHoverState> bbfhs;
23 bbfhs.reset([[BookmarkBarFolderHoverState alloc] init]);
24
25 // Initial state.
26 EXPECT_FALSE([bbfhs hoverButton]);
27 ASSERT_EQ(kHoverStateClosed, [bbfhs hoverState]);
28
29 scoped_nsobject<BookmarkButton> button;
30 button.reset([[BookmarkButton alloc] initWithFrame:NSMakeRect(0, 0, 20, 20)]);
31
32 // Test transition from closed to opening.
33 ASSERT_EQ(kHoverStateClosed, [bbfhs hoverState]);
34 [bbfhs scheduleOpenBookmarkFolderOnHoverButton:button];
35 ASSERT_EQ(kHoverStateOpening, [bbfhs hoverState]);
36
37 // Test transition from opening to closed (aka cancel open).
38 [bbfhs cancelPendingOpenBookmarkFolderOnHoverButton];
39 ASSERT_EQ(kHoverStateClosed, [bbfhs hoverState]);
40 ASSERT_EQ(nil, [bbfhs hoverButton]);
41
42 // Test transition from closed to opening.
43 ASSERT_EQ(kHoverStateClosed, [bbfhs hoverState]);
44 [bbfhs scheduleOpenBookmarkFolderOnHoverButton:button];
45 ASSERT_EQ(kHoverStateOpening, [bbfhs hoverState]);
46
47 // Test transition from opening to opened.
48 message_loop.PostDelayedTask(
49 FROM_HERE,
50 new MessageLoop::QuitTask,
51 bookmarks::kDragHoverOpenDelay * 1000.0 * 1.5);
52 message_loop.Run();
53 ASSERT_EQ(kHoverStateOpen, [bbfhs hoverState]);
54 ASSERT_EQ(button, [bbfhs hoverButton]);
55
56 // Test transition from opening to opened.
57 [bbfhs scheduleCloseBookmarkFolderOnHoverButton];
58 ASSERT_EQ(kHoverStateClosing, [bbfhs hoverState]);
59
60 // Test transition from closing to open (aka cancel close).
61 [bbfhs cancelPendingCloseBookmarkFolderOnHoverButton];
62 ASSERT_EQ(kHoverStateOpen, [bbfhs hoverState]);
63 ASSERT_EQ(button, [bbfhs hoverButton]);
64
65 // Test transition from closing to closed.
66 [bbfhs scheduleCloseBookmarkFolderOnHoverButton];
67 ASSERT_EQ(kHoverStateClosing, [bbfhs hoverState]);
68 message_loop.PostDelayedTask(
69 FROM_HERE,
70 new MessageLoop::QuitTask,
71 bookmarks::kDragHoverCloseDelay * 1000.0 * 1.5);
72 message_loop.Run();
73 ASSERT_EQ(kHoverStateClosed, [bbfhs hoverState]);
74 ASSERT_EQ(nil, [bbfhs hoverButton]);
75 }
76
77 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698