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

Side by Side Diff: ash/shelf/shelf_view_unittest.cc

Issue 1877543002: Revise the shelf alignment locking mechanism. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Move logic to a new ShelfLockingManager, owned by Shelf. Created 4 years, 8 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
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 #include "ash/shelf/shelf_view.h" 5 #include "ash/shelf/shelf_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 944 matching lines...) Expand 10 before | Expand all | Expand 10 after
955 for (int i = 0; i < 20; ++i) { 955 for (int i = 0; i < 20; ++i) {
956 ShelfID id = AddPanel(); 956 ShelfID id = AddPanel();
957 button_ids.push_back(id); 957 button_ids.push_back(id);
958 } 958 }
959 ASSERT_LT(button_ids.size(), 10000U); 959 ASSERT_LT(button_ids.size(), 10000U);
960 EXPECT_TRUE(test_api_->IsOverflowButtonVisible()); 960 EXPECT_TRUE(test_api_->IsOverflowButtonVisible());
961 961
962 // Test that any two successive visible icons never overlap in all shelf 962 // Test that any two successive visible icons never overlap in all shelf
963 // alignment types. 963 // alignment types.
964 const ShelfAlignment kAlignments[] = { 964 const ShelfAlignment kAlignments[] = {
965 SHELF_ALIGNMENT_LEFT, 965 SHELF_ALIGNMENT_LEFT, SHELF_ALIGNMENT_RIGHT, SHELF_ALIGNMENT_BOTTOM,
966 SHELF_ALIGNMENT_RIGHT, 966 SHELF_ALIGNMENT_LOCKED,
967 SHELF_ALIGNMENT_BOTTOM
968 }; 967 };
969 968
970 for (ShelfAlignment alignment : kAlignments) { 969 for (ShelfAlignment alignment : kAlignments) {
971 shelf_view_->shelf()->SetAlignment(alignment); 970 shelf_view_->shelf()->SetAlignment(alignment);
972 // For every 2 successive visible icons, expect that their bounds don't 971 // For every 2 successive visible icons, expect that their bounds don't
973 // intersect. 972 // intersect.
974 for (int i = 1; i < test_api_->GetButtonCount() - 1; ++i) { 973 for (int i = 1; i < test_api_->GetButtonCount() - 1; ++i) {
975 if (!(test_api_->GetButton(i)->visible() && 974 if (!(test_api_->GetButton(i)->visible() &&
976 test_api_->GetButton(i + 1)->visible())) { 975 test_api_->GetButton(i + 1)->visible())) {
977 continue; 976 continue;
978 } 977 }
979 978
980 const gfx::Rect& bounds1 = test_api_->GetBoundsByIndex(i); 979 const gfx::Rect& bounds1 = test_api_->GetBoundsByIndex(i);
981 const gfx::Rect& bounds2 = test_api_->GetBoundsByIndex(i + 1); 980 const gfx::Rect& bounds2 = test_api_->GetBoundsByIndex(i + 1);
982 EXPECT_FALSE(bounds1.Intersects(bounds2)); 981 EXPECT_FALSE(bounds1.Intersects(bounds2));
983 } 982 }
984 } 983 }
985 } 984 }
986 985
987 // Making sure the overflow bubble arrow correctly tracks with shelf position. 986 // Making sure the overflow bubble arrow correctly tracks with shelf position.
988 TEST_F(ShelfViewTest, OverflowArrowForShelfPosition) { 987 TEST_F(ShelfViewTest, OverflowArrowForShelfPosition) {
989 const ShelfAlignment kAlignments[] = { 988 const ShelfAlignment kAlignments[] = {
990 SHELF_ALIGNMENT_BOTTOM, SHELF_ALIGNMENT_LEFT, SHELF_ALIGNMENT_RIGHT}; 989 SHELF_ALIGNMENT_BOTTOM, SHELF_ALIGNMENT_LEFT, SHELF_ALIGNMENT_RIGHT,
990 SHELF_ALIGNMENT_LOCKED,
991 };
991 992
992 // These must match what is expected for each alignment above. 993 // These must match what is expected for each alignment above.
993 const views::BubbleBorder::Arrow kArrows[] = { 994 const views::BubbleBorder::Arrow kArrows[] = {
994 views::BubbleBorder::BOTTOM_LEFT, views::BubbleBorder::LEFT_TOP, 995 views::BubbleBorder::BOTTOM_LEFT, views::BubbleBorder::LEFT_TOP,
995 views::BubbleBorder::RIGHT_TOP}; 996 views::BubbleBorder::RIGHT_TOP, views::BubbleBorder::BOTTOM_LEFT,
997 };
996 998
997 for (size_t i = 0; i < arraysize(kAlignments); i++) { 999 for (size_t i = 0; i < arraysize(kAlignments); i++) {
998 shelf_view_->shelf()->SetAlignment(kAlignments[i]); 1000 shelf_view_->shelf()->SetAlignment(kAlignments[i]);
999 1001
1000 // Make sure there are enough icons to trigger the overflow in new 1002 // Make sure there are enough icons to trigger the overflow in new
1001 // orientation. 1003 // orientation.
1002 AddButtonsUntilOverflow(); 1004 AddButtonsUntilOverflow();
1003 test_api_->ShowOverflowBubble(); 1005 test_api_->ShowOverflowBubble();
1004 ASSERT_TRUE(test_api_->overflow_bubble() && 1006 ASSERT_TRUE(test_api_->overflow_bubble() &&
1005 test_api_->overflow_bubble()->IsShowing()); 1007 test_api_->overflow_bubble()->IsShowing());
(...skipping 943 matching lines...) Expand 10 before | Expand all | Expand 10 after
1949 test_api_->RunMessageLoopUntilAnimationsDone(); 1951 test_api_->RunMessageLoopUntilAnimationsDone();
1950 CheckAllItemsAreInBounds(); 1952 CheckAllItemsAreInBounds();
1951 } 1953 }
1952 1954
1953 INSTANTIATE_TEST_CASE_P(LtrRtl, ShelfViewTextDirectionTest, testing::Bool()); 1955 INSTANTIATE_TEST_CASE_P(LtrRtl, ShelfViewTextDirectionTest, testing::Bool());
1954 INSTANTIATE_TEST_CASE_P(VisibleBounds, ShelfViewVisibleBoundsTest, 1956 INSTANTIATE_TEST_CASE_P(VisibleBounds, ShelfViewVisibleBoundsTest,
1955 testing::Bool()); 1957 testing::Bool());
1956 1958
1957 } // namespace test 1959 } // namespace test
1958 } // namespace ash 1960 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698