| OLD | NEW |
| (Empty) |
| 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 | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #import "ios/chrome/browser/ui/settings/cells/signin_promo_item.h" | |
| 6 | |
| 7 #import <CoreGraphics/CoreGraphics.h> | |
| 8 #import <UIKit/UIKit.h> | |
| 9 | |
| 10 #import "ios/third_party/material_components_ios/src/components/Buttons/src/Mate
rialButtons.h" | |
| 11 #import "testing/gtest_mac.h" | |
| 12 | |
| 13 #if !defined(__has_feature) || !__has_feature(objc_arc) | |
| 14 #error "This file requires ARC support." | |
| 15 #endif | |
| 16 | |
| 17 // Tests that the profile image, the profile name and the profile email are set | |
| 18 // properly after a call to |configureCell:|. | |
| 19 TEST(SigninPromoItemTest, ConfigureCell) { | |
| 20 SigninPromoItem* item = [[SigninPromoItem alloc] initWithType:0]; | |
| 21 UIImage* image = [[UIImage alloc] init]; | |
| 22 | |
| 23 item.profileImage = image; | |
| 24 item.profileName = @"John Doe"; | |
| 25 item.profileEmail = @"johndoe@gmail.com"; | |
| 26 | |
| 27 id cell = [[[item cellClass] alloc] init]; | |
| 28 ASSERT_TRUE([cell isMemberOfClass:[SigninPromoCell class]]); | |
| 29 | |
| 30 SigninPromoCell* signInCell = cell; | |
| 31 EXPECT_FALSE(signInCell.imageView.image); | |
| 32 | |
| 33 [item configureCell:signInCell]; | |
| 34 | |
| 35 EXPECT_NSEQ(image, signInCell.imageView.image); | |
| 36 NSString* upperCaseProfileName = [item.profileName uppercaseString]; | |
| 37 NSRange profileNameRange = [signInCell.signinButton.titleLabel.text | |
| 38 rangeOfString:upperCaseProfileName]; | |
| 39 EXPECT_NE(profileNameRange.length, 0u); | |
| 40 NSRange profileEmailRange = | |
| 41 [signInCell.notMeButton.titleLabel.text rangeOfString:item.profileEmail]; | |
| 42 EXPECT_NE(profileEmailRange.length, 0u); | |
| 43 } | |
| OLD | NEW |