[go: nahoru, domu]

blob: c6a3f689dd9b2b8e96467def548a3c153e9c0af1 [file] [log] [blame]
// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import "ios/chrome/browser/ui/content_suggestions/ntp_home_test_utils.h"
#import <string>
#import "base/functional/callback.h"
#import "base/mac/foundation_util.h"
#import "base/strings/utf_string_conversions.h"
#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_constants.h"
#import "ios/chrome/browser/ui/content_suggestions/ntp_home_constant.h"
#import "ios/chrome/browser/ui/content_suggestions/set_up_list/constants.h"
#import "ios/chrome/browser/ui/content_suggestions/set_up_list/set_up_list_item_view.h"
#import "ios/chrome/browser/ui/content_suggestions/set_up_list/set_up_list_view.h"
#import "ios/chrome/browser/ui/ntp/new_tab_page_constants.h"
#import "ios/testing/earl_grey/earl_grey_app.h"
#import "ios/web/common/uikit_ui_util.h"
namespace {
// Returns the subview of `parentView` corresponding to the
// ContentSuggestionsViewController. Returns nil if it is not in its subviews.
UIView* SubviewWithAccessibilityIdentifier(NSString* accessibilityID,
UIView* parentView) {
if (parentView.accessibilityIdentifier == accessibilityID) {
return parentView;
}
if (parentView.subviews.count == 0)
return nil;
for (UIView* view in parentView.subviews) {
UIView* resultView =
SubviewWithAccessibilityIdentifier(accessibilityID, view);
if (resultView)
return resultView;
}
return nil;
}
// Returns the SetUpListView, if present.
SetUpListView* GetSetUpListView() {
return base::mac::ObjCCast<SetUpListView>(SubviewWithAccessibilityIdentifier(
set_up_list::kAccessibilityID, GetAnyKeyWindow()));
}
} // namespace
namespace ntp_home {
UICollectionView* CollectionView() {
return base::mac::ObjCCast<UICollectionView>(
SubviewWithAccessibilityIdentifier(kNTPCollectionViewIdentifier,
GetAnyKeyWindow()));
}
UICollectionView* ContentSuggestionsCollectionView() {
return base::mac::ObjCCast<UICollectionView>(
SubviewWithAccessibilityIdentifier(
kContentSuggestionsCollectionIdentifier, GetAnyKeyWindow()));
}
UIView* FakeOmnibox() {
return SubviewWithAccessibilityIdentifier(FakeOmniboxAccessibilityID(),
GetAnyKeyWindow());
}
UILabel* DiscoverHeaderLabel() {
return base::mac::ObjCCast<UILabel>(SubviewWithAccessibilityIdentifier(
DiscoverHeaderTitleAccessibilityID(), GetAnyKeyWindow()));
}
SetUpListItemView* SetUpListItemViewWithAccessibilityId(
NSString* accessibility_id) {
return base::mac::ObjCCast<SetUpListItemView>(
SubviewWithAccessibilityIdentifier(accessibility_id, GetSetUpListView()));
}
} // namespace ntp_home