Chromium Code Reviews| Index: chrome/browser/ui/panels/panel_browser_view_browsertest.cc |
| =================================================================== |
| --- chrome/browser/ui/panels/panel_browser_view_browsertest.cc (revision 96619) |
| +++ chrome/browser/ui/panels/panel_browser_view_browsertest.cc (working copy) |
| @@ -200,7 +200,22 @@ |
| // We put all the testing logic in this class instead of the test so that |
| // we do not need to declare each new test as a friend of PanelBrowserView |
| // for the purpose of accessing its private members. |
| - void TestMinimizeAndRestore() { |
| + void TestMinimizeAndRestore(int auto_hide_bottom_bar_height) { |
| + PanelManager* panel_manager = PanelManager::GetInstance(); |
| + |
| + // Specify the work area for testing purpose. |
| + const int kTestWorkAreaWidth = 800; |
| + const int kTestWorkAreaHeight = 600; |
| + panel_manager->SetWorkArea( |
| + gfx::Rect(0, 0, kTestWorkAreaWidth, kTestWorkAreaHeight), |
| + auto_hide_bottom_bar_height); |
| + panel_manager->should_check_auto_hide_bottom_bar_on_titlebar_change_ = |
| + false; |
| + int expected_bottom_on_unminimized = |
| + kTestWorkAreaHeight - auto_hide_bottom_bar_height; |
| + int expected_bottom_on_minimized = kTestWorkAreaHeight; |
| + |
| + // Create and test one panel first. |
| PanelBrowserView* browser_view1 = CreatePanelBrowserView("PanelTest1", |
| SHOW_AS_ACTIVE); |
| Panel* panel1 = browser_view1->panel_.get(); |
| @@ -216,6 +231,7 @@ |
| EXPECT_EQ(Panel::MINIMIZED, panel1->expansion_state()); |
| EXPECT_LT(panel1->GetBounds().height(), titlebar_height); |
| EXPECT_GT(panel1->GetBounds().height(), 0); |
| + EXPECT_EQ(expected_bottom_on_minimized, panel1->GetBounds().bottom()); |
| EXPECT_TRUE(IsMouseWatcherStarted()); |
| EXPECT_FALSE(panel1->IsActive()); |
| WaitTillBoundsAnimationFinished(browser_view1); |
| @@ -228,6 +244,7 @@ |
| panel1->SetExpansionState(Panel::TITLE_ONLY); |
| EXPECT_EQ(Panel::TITLE_ONLY, panel1->expansion_state()); |
| EXPECT_EQ(titlebar_height, panel1->GetBounds().height()); |
| + EXPECT_EQ(expected_bottom_on_unminimized, panel1->GetBounds().bottom()); |
| WaitTillBoundsAnimationFinished(browser_view1); |
| EXPECT_TRUE(frame_view1->close_button_->IsVisible()); |
| EXPECT_TRUE(frame_view1->title_icon_->IsVisible()); |
| @@ -236,6 +253,7 @@ |
| panel1->SetExpansionState(Panel::EXPANDED); |
| EXPECT_EQ(Panel::EXPANDED, panel1->expansion_state()); |
| EXPECT_EQ(initial_height, panel1->GetBounds().height()); |
| + EXPECT_EQ(expected_bottom_on_unminimized, panel1->GetBounds().bottom()); |
| WaitTillBoundsAnimationFinished(browser_view1); |
| EXPECT_TRUE(frame_view1->close_button_->IsVisible()); |
| EXPECT_TRUE(frame_view1->title_icon_->IsVisible()); |
| @@ -244,11 +262,13 @@ |
| panel1->SetExpansionState(Panel::TITLE_ONLY); |
| EXPECT_EQ(Panel::TITLE_ONLY, panel1->expansion_state()); |
| EXPECT_EQ(titlebar_height, panel1->GetBounds().height()); |
| + EXPECT_EQ(expected_bottom_on_unminimized, panel1->GetBounds().bottom()); |
| panel1->SetExpansionState(Panel::MINIMIZED); |
| EXPECT_EQ(Panel::MINIMIZED, panel1->expansion_state()); |
| EXPECT_LT(panel1->GetBounds().height(), titlebar_height); |
| EXPECT_GT(panel1->GetBounds().height(), 0); |
| + EXPECT_EQ(expected_bottom_on_minimized, panel1->GetBounds().bottom()); |
| // Create 2 more panels for more testing. |
| PanelBrowserView* browser_view2 = CreatePanelBrowserView("PanelTest2", |
| @@ -264,14 +284,12 @@ |
| panel3->SetExpansionState(Panel::MINIMIZED); |
| EXPECT_EQ(Panel::MINIMIZED, panel3->expansion_state()); |
| - PanelManager* panel_manager = PanelManager::GetInstance(); |
| - |
| - panel_manager->BringUpOrDownTitleBarForAllMinimizedPanels(true); |
| + panel_manager->BringUpTitleBar(); |
| EXPECT_EQ(Panel::TITLE_ONLY, panel1->expansion_state()); |
| EXPECT_EQ(Panel::EXPANDED, panel2->expansion_state()); |
| EXPECT_EQ(Panel::TITLE_ONLY, panel3->expansion_state()); |
| - panel_manager->BringUpOrDownTitleBarForAllMinimizedPanels(false); |
| + panel_manager->BringDownTitleBar(); |
| EXPECT_EQ(Panel::MINIMIZED, panel1->expansion_state()); |
| EXPECT_EQ(Panel::EXPANDED, panel2->expansion_state()); |
| EXPECT_EQ(Panel::MINIMIZED, panel3->expansion_state()); |
| @@ -342,8 +360,7 @@ |
| panel->GetBounds().x(), panel->GetBounds().y())); |
| // Test that we cannot bring down the panel that is drawing the attention. |
| - PanelManager::GetInstance()->BringUpOrDownTitleBarForAllMinimizedPanels( |
| - false); |
| + PanelManager::GetInstance()->BringDownTitleBar(); |
| EXPECT_EQ(Panel::TITLE_ONLY, panel->expansion_state()); |
| // Test that the attention is cleared. |
| @@ -487,10 +504,18 @@ |
| "http://home", "options.html"); |
| } |
| -IN_PROC_BROWSER_TEST_F(PanelBrowserViewTest, MinimizeAndRestore) { |
| - TestMinimizeAndRestore(); |
| +IN_PROC_BROWSER_TEST_F(PanelBrowserViewTest, |
| + MinimizeAndRestoreOnNormalTaskBar) { |
| + // Test that the taskbar is always visible. |
| + TestMinimizeAndRestore(0); |
|
Dmitry Titov
2011/08/17 22:56:38
It's incorrect to call a helper function and then
jianli
2011/08/22 20:44:42
The helper function does not use ASSERT_* so it is
|
| } |
| +IN_PROC_BROWSER_TEST_F(PanelBrowserViewTest, |
| + MinimizeAndRestoreOnAutoHideTaskBar) { |
| + // Test that the taskbar is in auto-hide mode. |
| + TestMinimizeAndRestore(40); |
| +} |
| + |
| IN_PROC_BROWSER_TEST_F(PanelBrowserViewTest, DrawAttention) { |
| TestDrawAttention(); |
| } |