blob: b6529c33ada8b66f508ff624eed7122dc474e8b1 [file] [log] [blame]
// Copyright 2018 The Chromium Authors. All rights reserved.
// 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/autofill/cells/autofill_edit_item.h"
#import "ios/chrome/browser/ui/table_view/chrome_table_view_styler.h"
#include "testing/gtest/include/gtest/gtest.h"
#import "testing/gtest_mac.h"
#include "testing/platform_test.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
using AutofillEditItemTest = PlatformTest;
// Tests that the label and text field are set properly after a call to
// |configureCell:|.
TEST_F(AutofillEditItemTest, ConfigureCell) {
AutofillEditItem* item = [[AutofillEditItem alloc] initWithType:0];
NSString* name = @"Name";
NSString* value = @"Value";
BOOL enabled = NO;
item.textFieldName = name;
item.textFieldValue = value;
item.textFieldEnabled = enabled;
id cell = [[[item cellClass] alloc] init];
ASSERT_TRUE([cell isMemberOfClass:[AutofillEditCell class]]);
AutofillEditCell* autofillEditCell = cell;
EXPECT_EQ(0U, autofillEditCell.textLabel.text.length);
EXPECT_EQ(0U, autofillEditCell.textField.text.length);
EXPECT_TRUE(autofillEditCell.textField.enabled);
[item configureCell:cell withStyler:[[ChromeTableViewStyler alloc] init]];
EXPECT_NSEQ(name, autofillEditCell.textLabel.text);
EXPECT_NSEQ(value, autofillEditCell.textField.text);
EXPECT_FALSE(autofillEditCell.textField.enabled);
}