| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 #import <EarlGrey/EarlGrey.h> | 5 #import <EarlGrey/EarlGrey.h> |
| 6 | 6 |
| 7 #import "ios/chrome/browser/payments/payment_request_picker_view_controller.h" | 7 #import "ios/chrome/browser/payments/payment_request_picker_view_controller.h" |
| 8 #import "ios/showcase/test/showcase_eg_utils.h" | 8 #import "ios/showcase/test/showcase_eg_utils.h" |
| 9 #import "ios/showcase/test/showcase_test_case.h" | 9 #import "ios/showcase/test/showcase_test_case.h" |
| 10 | 10 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 return matcher; | 40 return matcher; |
| 41 } | 41 } |
| 42 | 42 |
| 43 // Returns the GREYMatcher for the search bar's cancel button. | 43 // Returns the GREYMatcher for the search bar's cancel button. |
| 44 id<GREYMatcher> CancelButton() { | 44 id<GREYMatcher> CancelButton() { |
| 45 return grey_allOf(grey_accessibilityLabel(@"Cancel"), | 45 return grey_allOf(grey_accessibilityLabel(@"Cancel"), |
| 46 grey_accessibilityTrait(UIAccessibilityTraitButton), | 46 grey_accessibilityTrait(UIAccessibilityTraitButton), |
| 47 grey_sufficientlyVisible(), nil); | 47 grey_sufficientlyVisible(), nil); |
| 48 } | 48 } |
| 49 | 49 |
| 50 // Returns the GREYMatcher for the UIAlertView's message displayed for a call |
| 51 // that notifies the delegate of a selection. |
| 52 id<GREYMatcher> UIAlertViewMessageForDelegateCallWithArgument( |
| 53 NSString* argument) { |
| 54 return grey_allOf( |
| 55 grey_text( |
| 56 [NSString stringWithFormat: |
| 57 @"paymentRequestPickerViewController:" |
| 58 @"kPaymentRequestPickerViewControllerAccessibilityID " |
| 59 @"didSelectRow:%@", |
| 60 argument]), |
| 61 grey_sufficientlyVisible(), nil); |
| 62 } |
| 63 |
| 50 } // namespace | 64 } // namespace |
| 51 | 65 |
| 52 // Tests for the payment request picker view controller. | 66 // Tests for the payment request picker view controller. |
| 53 @interface SCPaymentsPickerTestCase : ShowcaseTestCase | 67 @interface SCPaymentsPickerTestCase : ShowcaseTestCase |
| 54 @end | 68 @end |
| 55 | 69 |
| 56 @implementation SCPaymentsPickerTestCase | 70 @implementation SCPaymentsPickerTestCase |
| 57 | 71 |
| 58 - (void)setUp { | 72 - (void)setUp { |
| 59 [super setUp]; | 73 [super setUp]; |
| (...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 285 - (void)testVerifySelection { | 299 - (void)testVerifySelection { |
| 286 // 'China' is selected. | 300 // 'China' is selected. |
| 287 [[EarlGrey selectElementWithMatcher:RowWithLabel(@"China", YES)] | 301 [[EarlGrey selectElementWithMatcher:RowWithLabel(@"China", YES)] |
| 288 assertWithMatcher:grey_notNil()]; | 302 assertWithMatcher:grey_notNil()]; |
| 289 | 303 |
| 290 // 'Canada' is not selected. Tap it. | 304 // 'Canada' is not selected. Tap it. |
| 291 [[EarlGrey selectElementWithMatcher:RowWithLabel(@"Canada", NO)] | 305 [[EarlGrey selectElementWithMatcher:RowWithLabel(@"Canada", NO)] |
| 292 performAction:grey_tap()]; | 306 performAction:grey_tap()]; |
| 293 | 307 |
| 294 // Confirm the delegate is informed. | 308 // Confirm the delegate is informed. |
| 309 [[EarlGrey |
| 310 selectElementWithMatcher:UIAlertViewMessageForDelegateCallWithArgument( |
| 311 @"Label: Canada, Value: CAN")] |
| 312 assertWithMatcher:grey_notNil()]; |
| 295 [[EarlGrey selectElementWithMatcher:grey_accessibilityLabel( | 313 [[EarlGrey selectElementWithMatcher:grey_accessibilityLabel( |
| 296 @"protocol_alerter_done")] | 314 @"protocol_alerter_done")] |
| 297 performAction:grey_tap()]; | 315 performAction:grey_tap()]; |
| 298 | 316 |
| 299 // 'China' is not selected anymore. | 317 // 'China' is not selected anymore. |
| 300 [[EarlGrey selectElementWithMatcher:RowWithLabel(@"China", NO)] | 318 [[EarlGrey selectElementWithMatcher:RowWithLabel(@"China", NO)] |
| 301 assertWithMatcher:grey_notNil()]; | 319 assertWithMatcher:grey_notNil()]; |
| 302 | 320 |
| 303 // Now 'Canada' is selected. Tap it again. | 321 // Now 'Canada' is selected. Tap it again. |
| 304 [[EarlGrey selectElementWithMatcher:RowWithLabel(@"Canada", YES)] | 322 [[EarlGrey selectElementWithMatcher:RowWithLabel(@"Canada", YES)] |
| 305 performAction:grey_tap()]; | 323 performAction:grey_tap()]; |
| 306 | 324 |
| 307 // Confirm the delegate is informed. | 325 // Confirm the delegate is informed. |
| 326 [[EarlGrey |
| 327 selectElementWithMatcher:UIAlertViewMessageForDelegateCallWithArgument( |
| 328 @"Label: Canada, Value: CAN")] |
| 329 assertWithMatcher:grey_notNil()]; |
| 308 [[EarlGrey selectElementWithMatcher:grey_accessibilityLabel( | 330 [[EarlGrey selectElementWithMatcher:grey_accessibilityLabel( |
| 309 @"protocol_alerter_done")] | 331 @"protocol_alerter_done")] |
| 310 performAction:grey_tap()]; | 332 performAction:grey_tap()]; |
| 311 | 333 |
| 312 // 'China' is still not selected. | 334 // 'China' is still not selected. |
| 313 [[EarlGrey selectElementWithMatcher:RowWithLabel(@"China", NO)] | 335 [[EarlGrey selectElementWithMatcher:RowWithLabel(@"China", NO)] |
| 314 assertWithMatcher:grey_notNil()]; | 336 assertWithMatcher:grey_notNil()]; |
| 315 | 337 |
| 316 // 'Canada' is still selected. | 338 // 'Canada' is still selected. |
| 317 [[EarlGrey selectElementWithMatcher:RowWithLabel(@"Canada", YES)] | 339 [[EarlGrey selectElementWithMatcher:RowWithLabel(@"Canada", YES)] |
| 318 assertWithMatcher:grey_notNil()]; | 340 assertWithMatcher:grey_notNil()]; |
| 319 } | 341 } |
| 320 | 342 |
| 321 @end | 343 @end |
| OLD | NEW |