| Index: views/focus/focus_manager_unittest.cc
|
| diff --git a/views/focus/focus_manager_unittest.cc b/views/focus/focus_manager_unittest.cc
|
| index ae585a773bc671cd3244b7761cc025c07983c1d9..11e982aca42181ae3ef4210588cbbdd2b83fc737 100644
|
| --- a/views/focus/focus_manager_unittest.cc
|
| +++ b/views/focus/focus_manager_unittest.cc
|
| @@ -1114,8 +1114,59 @@ TEST_F(FocusTraversalTest, TraversalWithNonEnabledViews) {
|
| for (size_t i = 0; i < arraysize(kDisabledIDs); i++) {
|
| View* v = FindViewByID(kDisabledIDs[i]);
|
| ASSERT_TRUE(v != NULL);
|
| - if (v)
|
| - v->SetEnabled(false);
|
| + v->SetEnabled(false);
|
| + }
|
| +
|
| + // Uncomment the following line if you want to test manually the UI of this
|
| + // test.
|
| + // MessageLoopForUI::current()->Run(new AcceleratorHandler());
|
| +
|
| + View* focused_view;
|
| + // Let's do one traversal (several times, to make sure it loops ok).
|
| + GetFocusManager()->ClearFocus();
|
| + for (int i = 0; i < 3; ++i) {
|
| + for (size_t j = 0; j < arraysize(kTraversalIDs); j++) {
|
| + GetFocusManager()->AdvanceFocus(false);
|
| + focused_view = GetFocusManager()->GetFocusedView();
|
| + EXPECT_TRUE(focused_view != NULL);
|
| + if (focused_view)
|
| + EXPECT_EQ(kTraversalIDs[j], focused_view->GetID());
|
| + }
|
| + }
|
| +
|
| + // Same thing in reverse.
|
| + GetFocusManager()->ClearFocus();
|
| + for (int i = 0; i < 3; ++i) {
|
| + for (int j = arraysize(kTraversalIDs) - 1; j >= 0; --j) {
|
| + GetFocusManager()->AdvanceFocus(true);
|
| + focused_view = GetFocusManager()->GetFocusedView();
|
| + EXPECT_TRUE(focused_view != NULL);
|
| + if (focused_view)
|
| + EXPECT_EQ(kTraversalIDs[j], focused_view->GetID());
|
| + }
|
| + }
|
| +}
|
| +
|
| +TEST_F(FocusTraversalTest, TraversalWithInvisibleViews) {
|
| + const int kInvisibleIDs[] = { kTopCheckBoxID, kOKButtonID,
|
| + kThumbnailContainerID };
|
| +
|
| + const int kTraversalIDs[] = { kAppleTextfieldID, kOrangeTextfieldID,
|
| + kBananaTextfieldID, kKiwiTextfieldID, kFruitButtonID, kFruitCheckBoxID,
|
| + kComboboxID, kBroccoliButtonID, kRosettaLinkID,
|
| + kStupeurEtTremblementLinkID, kDinerGameLinkID, kRidiculeLinkID,
|
| + kClosetLinkID, kVisitingLinkID, kAmelieLinkID, kJoyeuxNoelLinkID,
|
| + kCampingLinkID, kBriceDeNiceLinkID, kTaxiLinkID, kAsterixLinkID,
|
| + kCancelButtonID, kHelpButtonID, kStyleContainerID, kBoldCheckBoxID,
|
| + kItalicCheckBoxID, kUnderlinedCheckBoxID, kStyleHelpLinkID,
|
| + kStyleTextEditID, kSearchTextfieldID, kSearchButtonID, kHelpLinkID };
|
| +
|
| +
|
| + // Let's make some views invisible.
|
| + for (size_t i = 0; i < arraysize(kInvisibleIDs); i++) {
|
| + View* v = FindViewByID(kInvisibleIDs[i]);
|
| + ASSERT_TRUE(v != NULL);
|
| + v->SetVisible(false);
|
| }
|
|
|
| // Uncomment the following line if you want to test manually the UI of this
|
|
|