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

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

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

Powered by Google App Engine
This is Rietveld 408576698