| // Copyright 2017-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. |
| |
| // swiftlint:disable function_body_length |
| // swiftlint:disable type_body_length |
| |
| import XCTest |
| import MaterialComponents.MaterialPalettes |
| import MaterialComponents.MaterialTextFields |
| import MaterialComponents.MaterialTypography |
| |
| class TextFieldControllerClassPropertiesLegacyTests: XCTestCase { |
| override func tearDown() { |
| super.tearDown() |
| |
| MDCTextInputControllerLegacyDefault.errorColorDefault = nil |
| MDCTextInputControllerLegacyDefault.inlinePlaceholderColorDefault = nil |
| MDCTextInputControllerLegacyDefault.mdc_adjustsFontForContentSizeCategoryDefault = false |
| MDCTextInputControllerLegacyDefault.activeColorDefault = nil |
| MDCTextInputControllerLegacyDefault.normalColorDefault = nil |
| MDCTextInputControllerLegacyDefault.underlineViewModeDefault = .whileEditing |
| MDCTextInputControllerLegacyDefault.leadingUnderlineLabelTextColorDefault = nil |
| MDCTextInputControllerLegacyDefault.trailingUnderlineLabelTextColorDefault = nil |
| |
| MDCTextInputControllerLegacyDefault.inlinePlaceholderFontDefault = nil |
| MDCTextInputControllerLegacyDefault.leadingUnderlineLabelFontDefault = nil |
| MDCTextInputControllerLegacyDefault.trailingUnderlineLabelFontDefault = nil |
| |
| MDCTextInputControllerLegacyDefault.floatingPlaceholderNormalColorDefault = nil |
| MDCTextInputControllerLegacyDefault.floatingPlaceholderScaleDefault = 0.75 |
| MDCTextInputControllerLegacyDefault.isFloatingEnabledDefault = true |
| MDCTextInputControllerLegacyDefault.textInputClearButtonTintColorDefault = nil |
| |
| MDCTextInputControllerLegacyFullWidth.errorColorDefault = nil |
| MDCTextInputControllerLegacyFullWidth.inlinePlaceholderColorDefault = nil |
| MDCTextInputControllerLegacyFullWidth.mdc_adjustsFontForContentSizeCategoryDefault = false |
| MDCTextInputControllerLegacyFullWidth.activeColorDefault = nil |
| MDCTextInputControllerLegacyFullWidth.normalColorDefault = nil |
| MDCTextInputControllerLegacyFullWidth.underlineViewModeDefault = .never |
| |
| MDCTextInputControllerLegacyFullWidth.leadingUnderlineLabelTextColorDefault = nil |
| MDCTextInputControllerLegacyFullWidth.trailingUnderlineLabelTextColorDefault = nil |
| |
| MDCTextInputControllerLegacyFullWidth.inlinePlaceholderFontDefault = nil |
| MDCTextInputControllerLegacyFullWidth.leadingUnderlineLabelFontDefault = nil |
| MDCTextInputControllerLegacyFullWidth.trailingUnderlineLabelFontDefault = nil |
| |
| MDCTextInputControllerLegacyFullWidth.textInputClearButtonTintColorDefault = nil |
| } |
| |
| func testLegacyDefault() { |
| |
| // Test the values of the class properties. |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.errorColorDefault, MDCPalette.red.accent400) |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.inlinePlaceholderColorDefault, |
| UIColor(white: 0, alpha: CGFloat(0.54))) |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.mdc_adjustsFontForContentSizeCategoryDefault, false) |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.activeColorDefault, |
| MDCPalette.blue.accent700) |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.normalColorDefault, .lightGray) |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.underlineHeightActiveDefault, 2) |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.underlineHeightNormalDefault, 1) |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.underlineViewModeDefault, .whileEditing) |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.leadingUnderlineLabelTextColorDefault, |
| UIColor(white: 0, alpha: CGFloat(0.54))) |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.trailingUnderlineLabelTextColorDefault, |
| UIColor(white: 0, alpha: CGFloat(0.54))) |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.leadingUnderlineLabelTextColorDefault, |
| MDCTextInputControllerLegacyDefault.inlinePlaceholderColorDefault) |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.trailingUnderlineLabelTextColorDefault, |
| MDCTextInputControllerLegacyDefault.inlinePlaceholderColorDefault) |
| |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.inlinePlaceholderFontDefault, |
| UIFont.mdc_standardFont(forMaterialTextStyle: .body1)) |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.leadingUnderlineLabelFontDefault, |
| MDCTextInputControllerLegacyDefault.trailingUnderlineLabelFontDefault) |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.leadingUnderlineLabelFontDefault, |
| UIFont.mdc_standardFont(forMaterialTextStyle: .caption)) |
| |
| // Default specific properties |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.floatingPlaceholderNormalColorDefault, |
| UIColor(white: 0, alpha: CGFloat(0.54))) |
| XCTAssertEqual(Float(MDCTextInputControllerLegacyDefault.floatingPlaceholderScaleDefault), 0.75) |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.isFloatingEnabledDefault, true) |
| |
| XCTAssertNil(MDCTextInputControllerLegacyDefault.textInputClearButtonTintColorDefault) |
| |
| // Test the use of the class properties. |
| let textField = MDCTextField() |
| var controller = MDCTextInputControllerLegacyDefault(textInput: textField) |
| |
| XCTAssertEqual(controller.errorColor, MDCTextInputControllerLegacyDefault.errorColorDefault) |
| XCTAssertEqual(controller.inlinePlaceholderColor, |
| MDCTextInputControllerLegacyDefault.inlinePlaceholderColorDefault) |
| XCTAssertEqual(controller.mdc_adjustsFontForContentSizeCategory, |
| MDCTextInputControllerLegacyDefault.mdc_adjustsFontForContentSizeCategoryDefault) |
| XCTAssertEqual(controller.activeColor, |
| MDCTextInputControllerLegacyDefault.activeColorDefault) |
| XCTAssertEqual(controller.normalColor, |
| MDCTextInputControllerLegacyDefault.normalColorDefault) |
| XCTAssertEqual(controller.underlineHeightActive, |
| MDCTextInputControllerLegacyDefault.underlineHeightActiveDefault) |
| XCTAssertEqual(controller.underlineHeightNormal, |
| MDCTextInputControllerLegacyDefault.underlineHeightNormalDefault) |
| XCTAssertEqual(controller.underlineViewMode, |
| MDCTextInputControllerLegacyDefault.underlineViewModeDefault) |
| XCTAssertEqual(controller.leadingUnderlineLabelTextColor, |
| MDCTextInputControllerLegacyDefault.leadingUnderlineLabelTextColorDefault) |
| XCTAssertEqual(controller.trailingUnderlineLabelTextColor, |
| MDCTextInputControllerLegacyDefault.trailingUnderlineLabelTextColorDefault) |
| |
| XCTAssertEqual(controller.inlinePlaceholderFont, |
| MDCTextInputControllerLegacyDefault.inlinePlaceholderFontDefault) |
| XCTAssertEqual(controller.leadingUnderlineLabelFont, |
| MDCTextInputControllerLegacyDefault.leadingUnderlineLabelFontDefault) |
| XCTAssertEqual(controller.trailingUnderlineLabelFont, |
| MDCTextInputControllerLegacyDefault.trailingUnderlineLabelFontDefault) |
| |
| // Default specific properties |
| XCTAssertEqual(controller.floatingPlaceholderNormalColor, |
| MDCTextInputControllerLegacyDefault.floatingPlaceholderNormalColorDefault) |
| XCTAssertEqual(controller.isFloatingEnabled, |
| MDCTextInputControllerLegacyDefault.isFloatingEnabledDefault) |
| |
| // Test the changes to the class properties. |
| MDCTextInputControllerLegacyDefault.errorColorDefault = .green |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.errorColorDefault, .green) |
| |
| MDCTextInputControllerLegacyDefault.inlinePlaceholderColorDefault = .orange |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.inlinePlaceholderColorDefault, .orange) |
| |
| MDCTextInputControllerLegacyDefault.mdc_adjustsFontForContentSizeCategoryDefault = false |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.mdc_adjustsFontForContentSizeCategoryDefault, |
| false) |
| |
| MDCTextInputControllerLegacyDefault.activeColorDefault = .purple |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.activeColorDefault, .purple) |
| |
| MDCTextInputControllerLegacyDefault.normalColorDefault = .white |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.normalColorDefault, .white) |
| |
| MDCTextInputControllerLegacyDefault.underlineHeightActiveDefault = 11 |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.underlineHeightActiveDefault, 11) |
| |
| MDCTextInputControllerLegacyDefault.underlineHeightNormalDefault = 5 |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.underlineHeightNormalDefault, 5) |
| |
| MDCTextInputControllerLegacyDefault.underlineViewModeDefault = .unlessEditing |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.underlineViewModeDefault, .unlessEditing) |
| |
| MDCTextInputControllerLegacyDefault.leadingUnderlineLabelTextColorDefault = .blue |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.leadingUnderlineLabelTextColorDefault, .blue) |
| |
| MDCTextInputControllerLegacyDefault.trailingUnderlineLabelTextColorDefault = .white |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.trailingUnderlineLabelTextColorDefault, .white) |
| |
| MDCTextInputControllerLegacyDefault.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 4) |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.inlinePlaceholderFontDefault, |
| UIFont.systemFont(ofSize: 4)) |
| |
| MDCTextInputControllerLegacyDefault.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 5) |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.inlinePlaceholderFontDefault, |
| UIFont.systemFont(ofSize: 5)) |
| |
| MDCTextInputControllerLegacyDefault.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 6) |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.inlinePlaceholderFontDefault, |
| UIFont.systemFont(ofSize: 6)) |
| |
| // Default specific properties |
| MDCTextInputControllerLegacyDefault.floatingPlaceholderNormalColorDefault = .red |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.floatingPlaceholderNormalColorDefault, .red) |
| |
| MDCTextInputControllerLegacyDefault.floatingPlaceholderScaleDefault = 0.6 |
| XCTAssertEqual(Float(MDCTextInputControllerLegacyDefault.floatingPlaceholderScaleDefault), 0.6) |
| |
| MDCTextInputControllerLegacyDefault.isFloatingEnabledDefault = false |
| XCTAssertEqual(MDCTextInputControllerLegacyDefault.isFloatingEnabledDefault, false) |
| |
| // Test the changes to the class properties can propogate to an instance. |
| controller = MDCTextInputControllerLegacyDefault(textInput: textField) |
| |
| XCTAssertEqual(controller.errorColor, MDCTextInputControllerLegacyDefault.errorColorDefault) |
| XCTAssertEqual(controller.inlinePlaceholderColor, |
| MDCTextInputControllerLegacyDefault.inlinePlaceholderColorDefault) |
| XCTAssertEqual(controller.mdc_adjustsFontForContentSizeCategory, |
| MDCTextInputControllerLegacyDefault.mdc_adjustsFontForContentSizeCategoryDefault) |
| XCTAssertEqual(controller.activeColor, |
| MDCTextInputControllerLegacyDefault.activeColorDefault) |
| XCTAssertEqual(controller.normalColor, |
| MDCTextInputControllerLegacyDefault.normalColorDefault) |
| XCTAssertEqual(controller.underlineHeightActive, |
| MDCTextInputControllerLegacyDefault.underlineHeightActiveDefault) |
| XCTAssertEqual(controller.underlineHeightNormal, |
| MDCTextInputControllerLegacyDefault.underlineHeightNormalDefault) |
| XCTAssertEqual(controller.underlineViewMode, |
| MDCTextInputControllerLegacyDefault.underlineViewModeDefault) |
| XCTAssertEqual(controller.leadingUnderlineLabelTextColor, |
| MDCTextInputControllerLegacyDefault.leadingUnderlineLabelTextColorDefault) |
| XCTAssertEqual(controller.trailingUnderlineLabelTextColor, |
| MDCTextInputControllerLegacyDefault.trailingUnderlineLabelTextColorDefault) |
| |
| XCTAssertEqual(controller.inlinePlaceholderFont, |
| MDCTextInputControllerLegacyDefault.inlinePlaceholderFontDefault) |
| XCTAssertEqual(controller.leadingUnderlineLabelFont, |
| MDCTextInputControllerLegacyDefault.leadingUnderlineLabelFontDefault) |
| XCTAssertEqual(controller.trailingUnderlineLabelFont, |
| MDCTextInputControllerLegacyDefault.trailingUnderlineLabelFontDefault) |
| |
| // Default specific properties |
| XCTAssertEqual(controller.floatingPlaceholderNormalColor, |
| MDCTextInputControllerLegacyDefault.floatingPlaceholderNormalColorDefault) |
| XCTAssertEqual(controller.isFloatingEnabled, |
| MDCTextInputControllerLegacyDefault.isFloatingEnabledDefault) |
| } |
| |
| func testLegacyFullWidth() { |
| // Test the values of the class properties. |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.disabledColorDefault, .clear) |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.errorColorDefault, MDCPalette.red.accent400) |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.inlinePlaceholderColorDefault, |
| UIColor(white: 0, alpha: CGFloat(0.54))) |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.mdc_adjustsFontForContentSizeCategoryDefault, |
| false) |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.activeColorDefault, .clear) |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.normalColorDefault, .clear) |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.underlineHeightActiveDefault, 0) |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.underlineHeightNormalDefault, 0) |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.underlineViewModeDefault, .never) |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.leadingUnderlineLabelTextColorDefault, .clear) |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.trailingUnderlineLabelTextColorDefault, |
| UIColor(white: 0, alpha: CGFloat(0.54))) |
| |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.inlinePlaceholderFontDefault, |
| UIFont.mdc_standardFont(forMaterialTextStyle: .body1)) |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.leadingUnderlineLabelFontDefault, |
| MDCTextInputControllerLegacyFullWidth.trailingUnderlineLabelFontDefault) |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.leadingUnderlineLabelFontDefault, |
| UIFont.mdc_standardFont(forMaterialTextStyle: .caption)) |
| |
| XCTAssertNil(MDCTextInputControllerLegacyFullWidth.textInputClearButtonTintColorDefault) |
| |
| // Test the use of the class properties. |
| let textField = MDCTextField() |
| var controller = MDCTextInputControllerLegacyFullWidth(textInput: textField) |
| |
| XCTAssertEqual(controller.disabledColor, .clear) |
| XCTAssertEqual(controller.errorColor, MDCTextInputControllerLegacyFullWidth.errorColorDefault) |
| XCTAssertEqual(controller.inlinePlaceholderColor, |
| MDCTextInputControllerLegacyFullWidth.inlinePlaceholderColorDefault) |
| XCTAssertEqual(controller.mdc_adjustsFontForContentSizeCategory, |
| MDCTextInputControllerLegacyFullWidth.mdc_adjustsFontForContentSizeCategoryDefault) |
| XCTAssertEqual(controller.activeColor, |
| MDCTextInputControllerLegacyFullWidth.activeColorDefault) |
| XCTAssertEqual(controller.normalColor, |
| MDCTextInputControllerLegacyFullWidth.normalColorDefault) |
| XCTAssertEqual(controller.underlineHeightActive, |
| MDCTextInputControllerLegacyFullWidth.underlineHeightActiveDefault) |
| XCTAssertEqual(controller.underlineHeightNormal, |
| MDCTextInputControllerLegacyFullWidth.underlineHeightNormalDefault) |
| XCTAssertEqual(controller.underlineViewMode, |
| MDCTextInputControllerLegacyFullWidth.underlineViewModeDefault) |
| XCTAssertEqual(controller.leadingUnderlineLabelTextColor, |
| MDCTextInputControllerLegacyFullWidth.leadingUnderlineLabelTextColorDefault) |
| XCTAssertEqual(controller.trailingUnderlineLabelTextColor, |
| MDCTextInputControllerLegacyFullWidth.trailingUnderlineLabelTextColorDefault) |
| |
| XCTAssertEqual(controller.inlinePlaceholderFont, |
| MDCTextInputControllerLegacyFullWidth.inlinePlaceholderFontDefault) |
| XCTAssertEqual(controller.leadingUnderlineLabelFont, |
| MDCTextInputControllerLegacyFullWidth.leadingUnderlineLabelFontDefault) |
| XCTAssertEqual(controller.trailingUnderlineLabelFont, |
| MDCTextInputControllerLegacyFullWidth.trailingUnderlineLabelFontDefault) |
| |
| // Test the changes to the class properties. |
| MDCTextInputControllerLegacyFullWidth.disabledColorDefault = .red |
| XCTAssertNotEqual(MDCTextInputControllerLegacyFullWidth.disabledColorDefault, .red) |
| |
| MDCTextInputControllerLegacyFullWidth.errorColorDefault = .green |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.errorColorDefault, .green) |
| |
| MDCTextInputControllerLegacyFullWidth.inlinePlaceholderColorDefault = .orange |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.inlinePlaceholderColorDefault, .orange) |
| |
| MDCTextInputControllerLegacyFullWidth.mdc_adjustsFontForContentSizeCategoryDefault = false |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.mdc_adjustsFontForContentSizeCategoryDefault, |
| false) |
| |
| MDCTextInputControllerLegacyFullWidth.activeColorDefault = .purple |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.activeColorDefault, .clear) |
| |
| MDCTextInputControllerLegacyFullWidth.normalColorDefault = .white |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.normalColorDefault, .clear) |
| |
| // The underline is not shown in this controller |
| MDCTextInputControllerLegacyFullWidth.underlineHeightActiveDefault = 8 |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.underlineHeightActiveDefault, 0) |
| |
| MDCTextInputControllerLegacyFullWidth.underlineHeightNormalDefault = 7 |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.underlineHeightNormalDefault, 0) |
| |
| MDCTextInputControllerLegacyFullWidth.underlineViewModeDefault = .unlessEditing |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.underlineViewModeDefault, .never) |
| |
| MDCTextInputControllerLegacyFullWidth.leadingUnderlineLabelTextColorDefault = .brown |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.leadingUnderlineLabelTextColorDefault, .clear) |
| |
| MDCTextInputControllerLegacyFullWidth.trailingUnderlineLabelTextColorDefault = .cyan |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.trailingUnderlineLabelTextColorDefault, .cyan) |
| |
| MDCTextInputControllerLegacyFullWidth.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 4) |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.inlinePlaceholderFontDefault, |
| UIFont.systemFont(ofSize: 4)) |
| |
| MDCTextInputControllerLegacyFullWidth.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 5) |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.inlinePlaceholderFontDefault, |
| UIFont.systemFont(ofSize: 5)) |
| |
| MDCTextInputControllerLegacyFullWidth.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 6) |
| XCTAssertEqual(MDCTextInputControllerLegacyFullWidth.inlinePlaceholderFontDefault, |
| UIFont.systemFont(ofSize: 6)) |
| |
| // Test the changes to the class properties can propogate to an instance. |
| controller = MDCTextInputControllerLegacyFullWidth(textInput: textField) |
| |
| XCTAssertEqual(controller.disabledColor, .clear) |
| XCTAssertEqual(controller.errorColor, MDCTextInputControllerLegacyFullWidth.errorColorDefault) |
| XCTAssertEqual(controller.inlinePlaceholderColor, |
| MDCTextInputControllerLegacyFullWidth.inlinePlaceholderColorDefault) |
| XCTAssertEqual(controller.mdc_adjustsFontForContentSizeCategory, |
| MDCTextInputControllerLegacyFullWidth.mdc_adjustsFontForContentSizeCategoryDefault) |
| XCTAssertEqual(controller.activeColor, |
| MDCTextInputControllerLegacyFullWidth.activeColorDefault) |
| XCTAssertEqual(controller.normalColor, |
| MDCTextInputControllerLegacyFullWidth.normalColorDefault) |
| XCTAssertEqual(controller.underlineHeightActive, |
| MDCTextInputControllerLegacyFullWidth.underlineHeightActiveDefault) |
| XCTAssertEqual(controller.underlineHeightNormal, |
| MDCTextInputControllerLegacyFullWidth.underlineHeightNormalDefault) |
| XCTAssertEqual(controller.underlineViewMode, |
| MDCTextInputControllerLegacyFullWidth.underlineViewModeDefault) |
| XCTAssertEqual(controller.leadingUnderlineLabelTextColor, |
| MDCTextInputControllerLegacyFullWidth.leadingUnderlineLabelTextColorDefault) |
| XCTAssertEqual(controller.trailingUnderlineLabelTextColor, |
| MDCTextInputControllerLegacyFullWidth.trailingUnderlineLabelTextColorDefault) |
| |
| XCTAssertEqual(controller.inlinePlaceholderFont, |
| MDCTextInputControllerLegacyFullWidth.inlinePlaceholderFontDefault) |
| XCTAssertEqual(controller.leadingUnderlineLabelFont, |
| MDCTextInputControllerLegacyFullWidth.leadingUnderlineLabelFontDefault) |
| XCTAssertEqual(controller.trailingUnderlineLabelFont, |
| MDCTextInputControllerLegacyFullWidth.trailingUnderlineLabelFontDefault) |
| } |
| |
| func testLegacyDefaultTextInputClearButtonTintColorUsesDefault() { |
| // Given |
| MDCTextInputControllerLegacyDefault.textInputClearButtonTintColorDefault = .orange |
| |
| // When |
| let textInput = MDCTextField() |
| let controllerLegacyDefault = MDCTextInputControllerLegacyDefault(textInput: textInput) |
| |
| // Then |
| XCTAssertEqual(controllerLegacyDefault.textInputClearButtonTintColor, |
| MDCTextInputControllerLegacyDefault.textInputClearButtonTintColorDefault) |
| } |
| |
| func testLegacyDefaultTextInputClearButtonTintColorDefaultAppliesToTextField() { |
| // Given |
| MDCTextInputControllerLegacyDefault.textInputClearButtonTintColorDefault = .orange |
| |
| // When |
| let textInputLegacyDefault = MDCTextField() |
| let _ = MDCTextInputControllerLegacyDefault(textInput: textInputLegacyDefault) |
| |
| // Then |
| XCTAssertEqual(textInputLegacyDefault.clearButton.tintColor, |
| MDCTextInputControllerLegacyDefault.textInputClearButtonTintColorDefault) |
| } |
| |
| func testLegacyDefaultTextInputClearButtonTintColorAppliesToTextField() { |
| // Given |
| let textInputLegacyDefault = MDCTextField() |
| let controllerLegacyDefault = MDCTextInputControllerLegacyDefault(textInput: textInputLegacyDefault) |
| |
| // When |
| controllerLegacyDefault.textInputClearButtonTintColor = .black |
| |
| // Then |
| XCTAssertEqual(textInputLegacyDefault.clearButton.tintColor, |
| controllerLegacyDefault.textInputClearButtonTintColor) |
| } |
| |
| func testLegacyFullWidthTextInputClearButtonTintColorUsesDefault() { |
| // Given |
| MDCTextInputControllerLegacyFullWidth.textInputClearButtonTintColorDefault = .orange |
| |
| // When |
| let textInput = MDCTextField() |
| let controllerLegacyFullWidth = MDCTextInputControllerLegacyFullWidth(textInput: textInput) |
| |
| // Then |
| XCTAssertEqual(controllerLegacyFullWidth.textInputClearButtonTintColor, |
| MDCTextInputControllerLegacyFullWidth.textInputClearButtonTintColorDefault) |
| } |
| |
| func testLegacyFullWidthTextinputClearButtonTintColorDefaultAppliesToTextField() { |
| // Given |
| MDCTextInputControllerLegacyFullWidth.textInputClearButtonTintColorDefault = .orange |
| |
| // When |
| let textInputLegacyFullWidth = MDCTextField() |
| let _ = MDCTextInputControllerLegacyFullWidth(textInput: textInputLegacyFullWidth) |
| |
| // Then |
| XCTAssertEqual(textInputLegacyFullWidth.clearButton.tintColor, |
| MDCTextInputControllerLegacyFullWidth.textInputClearButtonTintColorDefault) |
| } |
| |
| func testLegacyFullWidthTextInputClearButtonTintColorAppliesToTextField() { |
| // Given |
| let textInputLegacyFullWidth = MDCTextField() |
| let controllerLegacyFullWidth = MDCTextInputControllerLegacyFullWidth(textInput: textInputLegacyFullWidth) |
| |
| // When |
| controllerLegacyFullWidth.textInputClearButtonTintColor = .black |
| |
| // Then |
| XCTAssertEqual(textInputLegacyFullWidth.clearButton.tintColor, |
| controllerLegacyFullWidth.textInputClearButtonTintColor) |
| } |
| |
| } |