// 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) } }