blob: fbbe435a90dc07d87e0793daa4e1961785cd4d91 [file] [log] [blame] [edit]
// 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)
}
}