Index: chrome/browser/ui/panels/panel_overflow_browsertest.cc |
diff --git a/chrome/browser/ui/panels/panel_overflow_browsertest.cc b/chrome/browser/ui/panels/panel_overflow_browsertest.cc |
index 0ef6e136297f1498f4653b0172276c3c28e0ce85..6b5bf0b64b2e18a493542a39699d0e8218f94ed7 100644 |
--- a/chrome/browser/ui/panels/panel_overflow_browsertest.cc |
+++ b/chrome/browser/ui/panels/panel_overflow_browsertest.cc |
@@ -354,6 +354,57 @@ IN_PROC_BROWSER_TEST_F(PanelOverflowBrowserTest, |
PanelManager::GetInstance()->CloseAll(); |
} |
+IN_PROC_BROWSER_TEST_F(PanelOverflowBrowserTest, AddMinimizedTillOverflow) { |
+ PanelManager* panel_manager = PanelManager::GetInstance(); |
+ DockedPanelStrip* docked_strip = panel_manager->docked_strip(); |
+ OverflowPanelStrip* overflow_strip = panel_manager->overflow_strip(); |
+ |
+ EXPECT_EQ(0, panel_manager->num_panels()); |
+ EXPECT_EQ(0, docked_strip->num_panels()); |
+ EXPECT_EQ(0, overflow_strip->num_panels()); |
+ |
+ CreatePanelParams params("Test", gfx::Rect(0, 0, 100, 100), SHOW_AS_INACTIVE); |
+ |
+ // TEST FAILS WHEN THIS LINE IS UNCOMMENTED |
+ // params.wait_for_fully_created = false; |
jianli
2012/03/14 22:41:37
Normally we should use the default true value for
|
+ |
+ unsigned int num_panels_to_add = 10; |
+ unsigned int num_panels = 0; |
+ Panel* panel7 = NULL; |
jianli
2012/03/14 22:41:37
Why do we need to check 7th panel specially?
Can
|
+ for (; num_panels < num_panels_to_add; ++num_panels) { |
+ Panel* panel = CreatePanelWithParams(params); |
+ if (num_panels == 7) panel7 = panel; |
jianli
2012/03/14 22:41:37
nit: split into 2 lines.
|
+ panel->SetExpansionState(Panel::MINIMIZED); |
+ |
+ panel->panel_strip()->RemovePanel(panel); |
+ EXPECT_EQ(NULL, panel->panel_strip()); |
+ |
+ docked_strip->AddPanel(panel, PanelStrip::DEFAULT_POSITION); |
+ EXPECT_EQ(Panel::MINIMIZED, panel->expansion_state()); |
+ } |
+ |
+ EXPECT_EQ(num_panels, num_panels_to_add); |
+ LOG(INFO) << "Panel counts: docked strip: " << docked_strip->num_panels() << |
+ " (minimized: " << docked_strip->minimized_panel_count() << |
+ "), temp. layout: " << |
+ docked_strip->num_temporary_layout_panels() << |
+ ", overflow: " << overflow_strip->num_panels(); |
+ EXPECT_EQ(num_panels, static_cast<unsigned int> |
+ (docked_strip->minimized_panel_count() + |
+ docked_strip->num_temporary_layout_panels() + |
+ overflow_strip->num_panels())); |
+ |
+ WaitForLayoutModeChanged(panel7, PanelStrip::IN_OVERFLOW); |
+ |
+ EXPECT_EQ(num_panels, static_cast<unsigned int> |
+ (docked_strip->minimized_panel_count() + |
+ docked_strip->num_temporary_layout_panels() + |
+ overflow_strip->num_panels())); |
+ EXPECT_EQ(0, docked_strip->num_temporary_layout_panels()); |
+ |
+ PanelManager::GetInstance()->CloseAll(); |
+} |
+ |
IN_PROC_BROWSER_TEST_F(PanelOverflowBrowserTest, |
CreatePanelOnDelayedOverflow) { |
// Create 2 big panels. |