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

Unified Diff: ash/launcher/launcher_view_unittest.cc

Issue 11348201: Align panel icons on the right / end. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add TODO for panel overflow. Created 8 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 | « ash/launcher/launcher_view.cc ('k') | ash/shell/window_watcher.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/launcher/launcher_view_unittest.cc
diff --git a/ash/launcher/launcher_view_unittest.cc b/ash/launcher/launcher_view_unittest.cc
index 468e8f90084654723b5192595bddfa11253627b6..7b776b593975031ca342d7120629129a3f8fe4d5 100644
--- a/ash/launcher/launcher_view_unittest.cc
+++ b/ash/launcher/launcher_view_unittest.cc
@@ -220,6 +220,12 @@ class LauncherViewTest : public AshTestBase {
return id;
}
+ LauncherID AddPanel() {
+ LauncherID id = AddPanelNoWait();
+ test_api_->RunMessageLoopUntilAnimationsDone();
+ return id;
+ }
+
LauncherID AddPlatformAppNoWait() {
LauncherItem item;
item.type = TYPE_PLATFORM_APP;
@@ -230,6 +236,16 @@ class LauncherViewTest : public AshTestBase {
return id;
}
+ LauncherID AddPanelNoWait() {
+ LauncherItem item;
+ item.type = TYPE_APP_PANEL;
+ item.status = STATUS_RUNNING;
+
+ LauncherID id = model_->next_id();
+ model_->Add(item);
+ return id;
+ }
+
LauncherID AddPlatformApp() {
LauncherID id = AddPlatformAppNoWait();
test_api_->RunMessageLoopUntilAnimationsDone();
@@ -333,12 +349,15 @@ TEST_F(LauncherViewTest, AddBrowserUntilOverflow) {
test_api_->GetButtonCount());
// Add tabbed browser until overflow.
+ int items_added = 0;
LauncherID last_added = AddTabbedBrowser();
while (!test_api_->IsOverflowButtonVisible()) {
// Added button is visible after animation while in this loop.
EXPECT_TRUE(GetButtonByID(last_added)->visible());
last_added = AddTabbedBrowser();
+ ++items_added;
+ ASSERT_LT(items_added, 10000);
}
// The last added button should be invisible.
@@ -356,12 +375,15 @@ TEST_F(LauncherViewTest, AddAppShortcutWithBrowserButtonUntilOverflow) {
LauncherID browser_button_id = AddTabbedBrowser();
// Add app shortcut until overflow.
+ int items_added = 0;
LauncherID last_added = AddAppShortcut();
while (!test_api_->IsOverflowButtonVisible()) {
// Added button is visible after animation while in this loop.
EXPECT_TRUE(GetButtonByID(last_added)->visible());
last_added = AddAppShortcut();
+ ++items_added;
+ ASSERT_LT(items_added, 10000);
}
// The last added app short button should be visible.
@@ -370,6 +392,58 @@ TEST_F(LauncherViewTest, AddAppShortcutWithBrowserButtonUntilOverflow) {
EXPECT_FALSE(GetButtonByID(browser_button_id)->visible());
}
+TEST_F(LauncherViewTest, AddPanelHidesTabbedBrowser) {
+ ASSERT_EQ(test_api_->GetLastVisibleIndex() + 1,
+ test_api_->GetButtonCount());
+
+ // Add tabbed browser until overflow, remember last visible tabbed browser.
+ int items_added = 0;
+ LauncherID first_added = AddTabbedBrowser();
+ EXPECT_TRUE(GetButtonByID(first_added)->visible());
+ LauncherID last_visible = first_added;
+ while (true) {
+ LauncherID added = AddTabbedBrowser();
+ if (test_api_->IsOverflowButtonVisible()) {
+ EXPECT_FALSE(GetButtonByID(added)->visible());
+ break;
+ }
+ last_visible = added;
+ ++items_added;
+ ASSERT_LT(items_added, 10000);
+ }
+
+ LauncherID panel = AddPanel();
+ EXPECT_TRUE(GetButtonByID(panel)->visible());
+ EXPECT_FALSE(GetButtonByID(last_visible)->visible());
+
+ RemoveByID(panel);
+ EXPECT_TRUE(GetButtonByID(last_visible)->visible());
+}
+
+TEST_F(LauncherViewTest, PanelsHideLast) {
+ ASSERT_EQ(test_api_->GetLastVisibleIndex() + 1,
+ test_api_->GetButtonCount());
+
+ // Add tabbed browser.
+ LauncherID browser = AddTabbedBrowser();
+ LauncherID first_panel = AddPanel();
+
+ EXPECT_TRUE(GetButtonByID(browser)->visible());
+ EXPECT_TRUE(GetButtonByID(first_panel)->visible());
+
+ LauncherID last_panel = first_panel;
+ int items_added = 0;
+ while (!test_api_->IsOverflowButtonVisible()) {
+ last_panel = AddPanel();
+ ++items_added;
+ ASSERT_LT(items_added, 10000);
+ }
+
+ EXPECT_TRUE(GetButtonByID(last_panel)->visible());
+ EXPECT_TRUE(GetButtonByID(first_panel)->visible());
+ EXPECT_FALSE(GetButtonByID(browser)->visible());
+}
+
// Adds button until overflow then removes first added one. Verifies that
// the last added one changes from invisible to visible and overflow
// chevron is gone.
@@ -379,10 +453,14 @@ TEST_F(LauncherViewTest, RemoveButtonRevealsOverflowed) {
test_api_->GetButtonCount());
// Add tabbed browser until overflow.
- LauncherID first_added= AddTabbedBrowser();
+ int items_added = 0;
+ LauncherID first_added = AddTabbedBrowser();
LauncherID last_added = first_added;
- while (!test_api_->IsOverflowButtonVisible())
+ while (!test_api_->IsOverflowButtonVisible()) {
last_added = AddTabbedBrowser();
+ ++items_added;
+ ASSERT_LT(items_added, 10000);
+ }
// Expect add more than 1 button. First added is visible and last is not.
EXPECT_NE(first_added, last_added);
@@ -405,9 +483,13 @@ TEST_F(LauncherViewTest, RemoveLastOverflowed) {
test_api_->GetButtonCount());
// Add tabbed browser until overflow.
- LauncherID last_added= AddTabbedBrowser();
- while (!test_api_->IsOverflowButtonVisible())
+ int items_added = 0;
+ LauncherID last_added = AddTabbedBrowser();
+ while (!test_api_->IsOverflowButtonVisible()) {
last_added = AddTabbedBrowser();
+ ++items_added;
+ ASSERT_LT(items_added, 10000);
+ }
RemoveByID(last_added);
EXPECT_FALSE(test_api_->IsOverflowButtonVisible());
@@ -425,6 +507,7 @@ TEST_F(LauncherViewTest, AddButtonQuickly) {
while (!test_api_->IsOverflowButtonVisible()) {
AddTabbedBrowserNoWait();
++added_count;
+ ASSERT_LT(added_count, 10000);
}
// LauncherView should be big enough to hold at least 3 new buttons.
@@ -702,10 +785,13 @@ TEST_F(LauncherViewTest, ResizeDuringOverflowAddAnimation) {
// Add buttons until overflow. Let the non-overflow add animations finish but
// leave the last running.
+ int items_added = 0;
AddTabbedBrowserNoWait();
while (!test_api_->IsOverflowButtonVisible()) {
test_api_->RunMessageLoopUntilAnimationsDone();
AddTabbedBrowserNoWait();
+ ++items_added;
+ ASSERT_LT(items_added, 10000);
}
// Resize launcher view with that animation running and stay overflown.
« no previous file with comments | « ash/launcher/launcher_view.cc ('k') | ash/shell/window_watcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698