// Copyright 2020-present the Material Components for iOS authors. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #import #import "MaterialTextControls+Enums.h" #import "MaterialTextControls+UnderlinedTextFields.h" @interface MDCUnderlinedTextFieldTests : XCTestCase @end @implementation MDCUnderlinedTextFieldTests #pragma mark Tests - (void)testUnderlineColorAccessors { // Given CGRect textFieldFrame = CGRectMake(0, 0, 130, 40); MDCUnderlinedTextField *textField = [[MDCUnderlinedTextField alloc] initWithFrame:textFieldFrame]; UIColor *underlineColorNormal = [UIColor blueColor]; UIColor *underlineColorEditing = [UIColor greenColor]; UIColor *underlineColorDisabled = [UIColor purpleColor]; // When [textField setUnderlineColor:underlineColorNormal forState:MDCTextControlStateNormal]; [textField setUnderlineColor:underlineColorEditing forState:MDCTextControlStateEditing]; [textField setUnderlineColor:underlineColorDisabled forState:MDCTextControlStateDisabled]; // Then XCTAssertEqualObjects(underlineColorNormal, [textField underlineColorForState:MDCTextControlStateNormal]); XCTAssertEqualObjects(underlineColorEditing, [textField underlineColorForState:MDCTextControlStateEditing]); XCTAssertEqualObjects(underlineColorDisabled, [textField underlineColorForState:MDCTextControlStateDisabled]); } - (void)testNormalUnderlineThickness { // Given CGRect textFieldFrame = CGRectMake(0, 0, 130, 40); MDCUnderlinedTextField *textField = [[MDCUnderlinedTextField alloc] initWithFrame:textFieldFrame]; // When textField.normalUnderlineThickness = 4; CGFloat normalUnderThicknessWithNormalSetter = textField.normalUnderlineThickness; [textField setNormalUnderlineThickness:5 animated:NO]; CGFloat normalUnderThicknessWithAnimatedSetter = textField.normalUnderlineThickness; // Then XCTAssertEqual(normalUnderThicknessWithNormalSetter, 4); XCTAssertEqual(normalUnderThicknessWithAnimatedSetter, 5); } - (void)testEditingUnderlineThickness { // Given CGRect textFieldFrame = CGRectMake(0, 0, 130, 40); MDCUnderlinedTextField *textField = [[MDCUnderlinedTextField alloc] initWithFrame:textFieldFrame]; // When textField.editingUnderlineThickness = 2; CGFloat editingUnderThicknessWithNormalSetter = textField.editingUnderlineThickness; [textField setEditingUnderlineThickness:3 animated:NO]; CGFloat editingUnderThicknessWithAnimatedSetter = textField.editingUnderlineThickness; // Then XCTAssertEqual(editingUnderThicknessWithNormalSetter, 2); XCTAssertEqual(editingUnderThicknessWithAnimatedSetter, 3); } @end