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

Unified Diff: ash/shelf/shelf_navigator_unittest.cc

Issue 198063003: Revert of Shelf Cleanup (- binary files) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ash/shelf/shelf_model_unittest.cc ('k') | ash/shelf/shelf_view.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/shelf/shelf_navigator_unittest.cc
diff --git a/ash/shelf/shelf_navigator_unittest.cc b/ash/shelf/shelf_navigator_unittest.cc
index 0033da7916762f707c8146c25d53e3fe3c22bd8e..7807eccbdbcd5d5a923cc370df898fcdbb1ecd7a 100644
--- a/ash/shelf/shelf_navigator_unittest.cc
+++ b/ash/shelf/shelf_navigator_unittest.cc
@@ -69,6 +69,21 @@
DISALLOW_COPY_AND_ASSIGN(ShelfNavigatorTest);
};
+class ShelfNavigatorLegacyShelfLayoutTest : public ShelfNavigatorTest {
+ public:
+ ShelfNavigatorLegacyShelfLayoutTest() : ShelfNavigatorTest() {}
+
+ protected:
+ virtual void SetUp() OVERRIDE {
+ CommandLine::ForCurrentProcess()->AppendSwitch(
+ switches::kAshDisableAlternateShelfLayout);
+ ShelfNavigatorTest::SetUp();
+ }
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(ShelfNavigatorLegacyShelfLayoutTest);
+};
+
} // namespace
TEST_F(ShelfNavigatorTest, BasicCycle) {
@@ -87,6 +102,22 @@
EXPECT_EQ(5, GetNextActivatedItemIndex(model(), CYCLE_BACKWARD));
}
+TEST_F(ShelfNavigatorLegacyShelfLayoutTest, BasicCycle) {
+ // An app shortcut and three platform apps.
+ ShelfItemType types[] = {
+ TYPE_APP_SHORTCUT, TYPE_PLATFORM_APP, TYPE_PLATFORM_APP, TYPE_PLATFORM_APP,
+ };
+ // ShelfModel automatically adds BROWSER_SHORTCUT item at the
+ // beginning, so '2' refers the first TYPE_PLATFORM_APP item.
+ SetupMockShelfModel(types, arraysize(types), 2);
+
+ EXPECT_EQ(3, GetNextActivatedItemIndex(model(), CYCLE_FORWARD));
+
+ // Fourth one. It will skip the APP_SHORTCUT at the beginning of the list and
+ // the APP_LIST item which is automatically added at the end of items.
+ EXPECT_EQ(4, GetNextActivatedItemIndex(model(), CYCLE_BACKWARD));
+}
+
TEST_F(ShelfNavigatorTest, WrapToBeginning) {
ShelfItemType types[] = {
TYPE_APP_SHORTCUT, TYPE_PLATFORM_APP, TYPE_PLATFORM_APP, TYPE_PLATFORM_APP,
@@ -99,6 +130,18 @@
EXPECT_EQ(3, GetNextActivatedItemIndex(model(), CYCLE_FORWARD));
}
+TEST_F(ShelfNavigatorLegacyShelfLayoutTest, WrapToBeginning) {
+ ShelfItemType types[] = {
+ TYPE_APP_SHORTCUT, TYPE_PLATFORM_APP, TYPE_PLATFORM_APP, TYPE_PLATFORM_APP,
+ };
+ SetupMockShelfModel(types, arraysize(types), 4);
+
+ // Second one. It skips the APP_LIST item at the end of the list,
+ // wraps to the beginning, and skips BROWSER_SHORTCUT and APP_SHORTCUT
+ // at the beginning of the list.
+ EXPECT_EQ(2, GetNextActivatedItemIndex(model(), CYCLE_FORWARD));
+}
+
TEST_F(ShelfNavigatorTest, Empty) {
SetupMockShelfModel(NULL, 0, -1);
EXPECT_EQ(-1, GetNextActivatedItemIndex(model(), CYCLE_FORWARD));
@@ -108,6 +151,16 @@
TEST_F(ShelfNavigatorTest, SingleEntry) {
ShelfItemType type = TYPE_PLATFORM_APP;
SetupMockShelfModel(&type, 1, 2);
+
+ // If there's only one item there and it is already active, there's no item
+ // to be activated next.
+ EXPECT_EQ(-1, GetNextActivatedItemIndex(model(), CYCLE_FORWARD));
+ EXPECT_EQ(-1, GetNextActivatedItemIndex(model(), CYCLE_BACKWARD));
+}
+
+TEST_F(ShelfNavigatorLegacyShelfLayoutTest, SingleEntry) {
+ ShelfItemType type = TYPE_PLATFORM_APP;
+ SetupMockShelfModel(&type, 1, 1);
// If there's only one item there and it is already active, there's no item
// to be activated next.
@@ -127,4 +180,16 @@
EXPECT_EQ(2, GetNextActivatedItemIndex(model(), CYCLE_BACKWARD));
}
+TEST_F(ShelfNavigatorLegacyShelfLayoutTest, NoActive) {
+ ShelfItemType types[] = {
+ TYPE_PLATFORM_APP, TYPE_PLATFORM_APP,
+ };
+ // Special case: no items are 'STATUS_ACTIVE'.
+ SetupMockShelfModel(types, arraysize(types), -1);
+
+ // If there are no active status, pick the first running item as a fallback.
+ EXPECT_EQ(1, GetNextActivatedItemIndex(model(), CYCLE_FORWARD));
+ EXPECT_EQ(1, GetNextActivatedItemIndex(model(), CYCLE_BACKWARD));
+}
+
} // namespace ash
« no previous file with comments | « ash/shelf/shelf_model_unittest.cc ('k') | ash/shelf/shelf_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698