Commit 134060a6 authored by Nohemi Fernandez's avatar Nohemi Fernandez Committed by Commit Bot

[iOS] Fix test failures in new sign-in architecture due to labels.

The new sign-in architecture modifies the case of several button title
labels in the sign-in UI. This causes EarlGrey test failures when we
try to use the new architecture exclusively. Move all tests that
currently use raw test to use accessibility IDs.

Bug: 971989
Change-Id: Ic8b38bef5de13786330c606328d21b5720e0931d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2146903
Commit-Queue: Nohemi Fernandez <fernandex@chromium.org>
Reviewed-by: default avatarSylvain Defresne <sdefresne@chromium.org>
Reviewed-by: default avatarJérôme Lebel <jlebel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#760055}
parent 794688bb
......@@ -65,7 +65,10 @@ source_set("authentication") {
"//ui/base",
"//ui/gfx",
]
public_deps = [ "//ios/chrome/browser/ui/collection_view" ]
public_deps = [
"//ios/chrome/browser/ui/authentication/signin:constants",
"//ios/chrome/browser/ui/collection_view",
]
if (is_chrome_branded) {
deps += [ "resources:signin_promo_logo_chrome_color" ]
} else {
......
......@@ -35,6 +35,7 @@
#import "ios/chrome/browser/ui/alert_coordinator/alert_coordinator.h"
#import "ios/chrome/browser/ui/authentication/authentication_flow.h"
#import "ios/chrome/browser/ui/authentication/authentication_ui_util.h"
#import "ios/chrome/browser/ui/authentication/signin/signin_constants.h"
#include "ios/chrome/browser/ui/authentication/unified_consent/unified_consent_coordinator.h"
#import "ios/chrome/browser/ui/commands/application_commands.h"
#import "ios/chrome/browser/ui/util/label_link_controller.h"
......@@ -843,7 +844,7 @@ enum AuthenticationState {
[_secondaryButton addTarget:self
action:@selector(onSecondaryButtonPressed:)
forControlEvents:UIControlEventTouchUpInside];
[_secondaryButton setAccessibilityIdentifier:@"ic_close"];
_secondaryButton.accessibilityIdentifier = kSkipSigninAccessibilityIdentifier;
_secondaryButton.hidden = YES;
[self.view addSubview:_secondaryButton];
......
......@@ -14,11 +14,11 @@ group("signin") {
source_set("signin_headers") {
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"signin_constants.h",
"signin_coordinator.h",
"signin_utils.h",
]
public_deps = [
":constants",
"//base",
"//components/signin/public/base",
"//ios/chrome/browser/browser_state",
......@@ -28,10 +28,7 @@ source_set("signin_headers") {
source_set("signin_protected") {
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"signin_constants.mm",
"signin_coordinator+protected.h",
]
sources = [ "signin_coordinator+protected.h" ]
deps = [ ":signin_headers" ]
}
......@@ -42,6 +39,7 @@ source_set("signin_impl") {
"signin_coordinator.mm",
"signin_utils.mm",
]
public_deps = [ ":constants" ]
deps = [
":signin_headers",
":signin_protected",
......@@ -84,3 +82,12 @@ source_set("unit_tests") {
"//third_party/ocmock",
]
}
source_set("constants") {
configs += [ "//build/config/compiler:enable_arc" ]
sources = [
"signin_constants.h",
"signin_constants.mm",
]
frameworks = [ "Foundation.framework" ]
}
......@@ -25,8 +25,10 @@ source_set("add_account_signin") {
"//ios/public/provider/chrome/browser",
"//ios/public/provider/chrome/browser/signin",
]
public_deps =
[ "//ios/chrome/browser/ui/authentication/signin:signin_headers" ]
public_deps = [
"//ios/chrome/browser/ui/authentication/signin:constants",
"//ios/chrome/browser/ui/authentication/signin:signin_headers",
]
}
source_set("unit_tests") {
......
......@@ -14,8 +14,10 @@ source_set("advanced_settings_signin") {
"advanced_settings_signin_navigation_controller.h",
"advanced_settings_signin_navigation_controller.mm",
]
public_deps =
[ "//ios/chrome/browser/ui/authentication/signin:signin_headers" ]
public_deps = [
"//ios/chrome/browser/ui/authentication/signin:constants",
"//ios/chrome/browser/ui/authentication/signin:signin_headers",
]
deps = [
":constants",
"//components/sync",
......
......@@ -32,6 +32,8 @@ typedef NS_ENUM(NSUInteger, SigninCoordinatorInterruptAction) {
// Name of notification sent when the user has attempted a sign-in.
extern NSString* const kUserSigninAttemptedNotification;
// Name of accessibility identifier for the skip sign-in button.
extern NSString* const kSkipSigninAccessibilityIdentifier;
// Action that is required to do to complete the sign-in. This action is in
// charge of the SigninCoordinator's owner.
......
......@@ -9,6 +9,8 @@
#endif
NSString* const kUserSigninAttemptedNotification = @"kUserSigninAttempted";
NSString* const kSkipSigninAccessibilityIdentifier =
@"kSkipSigninAccessibilityIdentifier";
@implementation SigninCompletionInfo
......
......@@ -40,8 +40,10 @@ source_set("user_signin") {
"//ios/public/provider/chrome/browser/signin",
"//ui/base",
]
public_deps =
[ "//ios/chrome/browser/ui/authentication/signin:signin_headers" ]
public_deps = [
"//ios/chrome/browser/ui/authentication/signin:constants",
"//ios/chrome/browser/ui/authentication/signin:signin_headers",
]
}
source_set("unit_tests") {
......
......@@ -19,6 +19,8 @@ source_set("logging") {
"//ios/public/provider/chrome/browser",
"//ios/public/provider/chrome/browser/signin",
]
public_deps =
[ "//ios/chrome/browser/ui/authentication/signin:signin_headers" ]
public_deps = [
"//ios/chrome/browser/ui/authentication/signin:constants",
"//ios/chrome/browser/ui/authentication/signin:signin_headers",
]
}
......@@ -5,6 +5,7 @@
#import "ios/chrome/browser/ui/authentication/signin/user_signin/user_signin_view_controller.h"
#import "base/logging.h"
#import "ios/chrome/browser/ui/authentication/signin/signin_constants.h"
#import "ios/chrome/browser/ui/authentication/signin/user_signin/gradient_view.h"
#import "ios/chrome/browser/ui/util/rtl_geometry.h"
#import "ios/chrome/browser/ui/util/uikit_ui_util.h"
......@@ -252,6 +253,7 @@ enum AuthenticationButtonType {
- (NSString*)confirmationButtonTitle {
return l10n_util::GetNSString(IDS_IOS_ACCOUNT_UNIFIED_CONSENT_OK_BUTTON);
}
- (NSString*)skipSigninButtonTitle {
if (self.useFirstRunSkipButton) {
return l10n_util::GetNSString(
......@@ -405,6 +407,8 @@ enum AuthenticationButtonType {
DCHECK(!self.skipSigninButton);
DCHECK(self.unifiedConsentViewController);
self.skipSigninButton = [[UIButton alloc] init];
self.skipSigninButton.accessibilityIdentifier =
kSkipSigninAccessibilityIdentifier;
[self addSubviewWithButton:self.skipSigninButton];
[self.skipSigninButton setTitle:self.skipSigninButtonTitle
forState:UIControlStateNormal];
......
......@@ -178,6 +178,7 @@ source_set("eg_tests") {
"//components/strings",
"//ios/chrome/app/strings",
"//ios/chrome/browser/ui/authentication:eg_test_support",
"//ios/chrome/browser/ui/authentication/signin:constants",
"//ios/chrome/browser/ui/popup_menu:constants",
"//ios/chrome/browser/ui/table_view:feature_flags",
"//ios/chrome/test/app:test_support",
......@@ -258,6 +259,7 @@ source_set("eg2_tests") {
"//ios/chrome/browser:utils",
"//ios/chrome/browser/policy:eg_test_support+eg2",
"//ios/chrome/browser/ui/authentication:eg_test_support+eg2",
"//ios/chrome/browser/ui/authentication/signin:constants",
"//ios/chrome/browser/ui/popup_menu:constants",
"//ios/chrome/browser/ui/table_view:feature_flags",
"//ios/chrome/test/earl_grey:eg_test_support+eg2",
......
......@@ -6,6 +6,7 @@
#import <XCTest/XCTest.h>
#include "base/ios/ios_util.h"
#import "ios/chrome/browser/ui/authentication/signin/signin_constants.h"
#import "ios/chrome/browser/ui/authentication/signin_earl_grey_ui.h"
#import "ios/chrome/browser/ui/bookmarks/bookmark_earl_grey.h"
#import "ios/chrome/browser/ui/bookmarks/bookmark_earl_grey_ui.h"
......@@ -129,10 +130,9 @@ using chrome_test_util::SecondarySignInButton;
grey_sufficientlyVisible(), nil)]
performAction:grey_tap()];
// Cancel the sign-in operation.
[[EarlGrey selectElementWithMatcher:
grey_buttonTitle([l10n_util::GetNSString(
IDS_IOS_ACCOUNT_CONSISTENCY_SETUP_SKIP_BUTTON)
uppercaseString])] performAction:grey_tap()];
[[EarlGrey selectElementWithMatcher:grey_accessibilityID(
kSkipSigninAccessibilityIdentifier)]
performAction:grey_tap()];
// Check that the bookmarks UI reappeared and the cell is still here.
[BookmarkEarlGrey verifyPromoAlreadySeen:NO];
......@@ -162,10 +162,9 @@ using chrome_test_util::SecondarySignInButton;
performAction:grey_tap()];
// Cancel the sign-in operation.
[[EarlGrey selectElementWithMatcher:
grey_buttonTitle([l10n_util::GetNSString(
IDS_IOS_ACCOUNT_CONSISTENCY_SETUP_SKIP_BUTTON)
uppercaseString])] performAction:grey_tap()];
[[EarlGrey selectElementWithMatcher:grey_accessibilityID(
kSkipSigninAccessibilityIdentifier)]
performAction:grey_tap()];
// Check that the bookmarks UI reappeared and the cell is still here.
[SigninEarlGreyUI
......@@ -198,10 +197,9 @@ using chrome_test_util::SecondarySignInButton;
[SigninEarlGreyUI selectIdentityWithEmail:identityEmail];
// Tap the CANCEL button.
[[EarlGrey selectElementWithMatcher:
grey_buttonTitle([l10n_util::GetNSString(
IDS_IOS_ACCOUNT_CONSISTENCY_SETUP_SKIP_BUTTON)
uppercaseString])] performAction:grey_tap()];
[[EarlGrey selectElementWithMatcher:grey_accessibilityID(
kSkipSigninAccessibilityIdentifier)]
performAction:grey_tap()];
// Check that the bookmarks UI reappeared and the cell is still here.
[BookmarkEarlGrey verifyPromoAlreadySeen:NO];
......
......@@ -108,6 +108,7 @@ source_set("eg_tests") {
"//ios/chrome/browser/signin",
"//ios/chrome/browser/ui/authentication",
"//ios/chrome/browser/ui/authentication:eg_test_support",
"//ios/chrome/browser/ui/authentication/signin:constants",
"//ios/chrome/test/app:test_support",
"//ios/chrome/test/earl_grey:test_support",
"//ios/public/provider/chrome/browser/signin:test_support",
......@@ -134,6 +135,7 @@ source_set("eg2_tests") {
"//ios/chrome/app/strings:ios_chromium_strings_grit",
"//ios/chrome/app/strings:ios_strings_grit",
"//ios/chrome/browser/ui/authentication:eg_test_support+eg2",
"//ios/chrome/browser/ui/authentication/signin:constants",
"//ios/chrome/test/earl_grey:eg_test_support+eg2",
"//ios/public/provider/chrome/browser/signin:fake_chrome_identity",
"//ios/testing/earl_grey:eg_test_support+eg2",
......
......@@ -4,6 +4,7 @@
#include "base/strings/sys_string_conversions.h"
#import "base/test/ios/wait_util.h"
#import "ios/chrome/browser/ui/authentication/signin/signin_constants.h"
#import "ios/chrome/browser/ui/authentication/signin_earl_grey_ui.h"
#import "ios/chrome/browser/ui/authentication/signin_earlgrey_utils.h"
#import "ios/chrome/browser/ui/first_run/first_run_app_interface.h"
......@@ -32,8 +33,7 @@ id<GREYMatcher> FirstRunOptInAcceptButton() {
// Returns matcher for the skip sign in button.
id<GREYMatcher> SkipSigninButton() {
return ButtonWithAccessibilityLabel(
l10n_util::GetNSString(IDS_IOS_FIRSTRUN_ACCOUNT_CONSISTENCY_SKIP_BUTTON));
return grey_accessibilityID(kSkipSigninAccessibilityIdentifier);
}
}
......
......@@ -397,6 +397,7 @@ source_set("eg_tests") {
"//ios/chrome/browser/ui:feature_flags",
"//ios/chrome/browser/ui/authentication:eg_test_support",
"//ios/chrome/browser/ui/authentication/cells",
"//ios/chrome/browser/ui/authentication/signin:constants",
"//ios/chrome/browser/ui/settings:test_support",
"//ios/chrome/browser/ui/table_view/cells",
"//ios/chrome/test:eg_test_support",
......@@ -484,6 +485,7 @@ source_set("eg2_tests") {
"//ios/chrome/browser/ui:feature_flags",
"//ios/chrome/browser/ui/authentication:eg_test_support+eg2",
"//ios/chrome/browser/ui/authentication/cells:constants",
"//ios/chrome/browser/ui/authentication/signin:constants",
"//ios/chrome/browser/ui/settings:constants",
"//ios/chrome/test/earl_grey:eg_test_support+eg2",
"//ios/public/provider/chrome/browser/signin:fake_chrome_identity",
......
......@@ -11,6 +11,7 @@
#include "base/strings/sys_string_conversions.h"
#include "build/branding_buildflags.h"
#include "components/strings/grit/components_strings.h"
#import "ios/chrome/browser/ui/authentication/signin/signin_constants.h"
#import "ios/chrome/browser/ui/settings/settings_app_interface.h"
#include "ios/chrome/grit/ios_chromium_strings.h"
#include "ios/chrome/grit/ios_strings.h"
......@@ -461,10 +462,9 @@ id<GREYMatcher> ClearBrowsingDataCell() {
@"Settings should not register key commands when presented.");
// Cancel the sign-in operation.
[[EarlGrey selectElementWithMatcher:
grey_buttonTitle([l10n_util::GetNSString(
IDS_IOS_ACCOUNT_CONSISTENCY_SETUP_SKIP_BUTTON)
uppercaseString])] performAction:grey_tap()];
[[EarlGrey selectElementWithMatcher:grey_accessibilityID(
kSkipSigninAccessibilityIdentifier)]
performAction:grey_tap()];
// Wait for UI to finish closing the Sign-in screen.
[[GREYUIThreadExecutor sharedInstance] drainUntilIdle];
......
......@@ -3,6 +3,7 @@
// found in the LICENSE file.
#import "ios/chrome/browser/ui/authentication/cells/signin_promo_view_constants.h"
#import "ios/chrome/browser/ui/authentication/signin/signin_constants.h"
#import "ios/chrome/browser/ui/authentication/signin_earl_grey_ui.h"
#import "ios/chrome/browser/ui/authentication/signin_earlgrey_utils.h"
#import "ios/chrome/browser/ui/settings/settings_table_view_controller_constants.h"
......@@ -45,10 +46,9 @@ using chrome_test_util::ButtonWithAccessibilityLabelId;
[ChromeEarlGreyUI tapSettingsMenuButton:PrimarySignInButton()];
// Cancel the sign-in operation.
[[EarlGrey selectElementWithMatcher:
grey_buttonTitle([l10n_util::GetNSString(
IDS_IOS_ACCOUNT_CONSISTENCY_SETUP_SKIP_BUTTON)
uppercaseString])] performAction:grey_tap()];
[[EarlGrey selectElementWithMatcher:grey_accessibilityID(
kSkipSigninAccessibilityIdentifier)]
performAction:grey_tap()];
[SigninEarlGreyUI
checkSigninPromoVisibleWithMode:SigninPromoViewModeColdState];
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment