mirror of
https://github.com/material-components/material-components-ios.git
synced 2026-02-20 08:27:32 +08:00
Fixing bottom corner radius of filled textfield, so it aligns with the textfield's bottom underline.
951 lines
50 KiB
Swift
951 lines
50 KiB
Swift
// 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 TextFieldControllerClassPropertiesTests: XCTestCase {
|
|
override func tearDown() {
|
|
super.tearDown()
|
|
|
|
MDCTextInputControllerFilled.roundedCornersDefault = []
|
|
MDCTextInputControllerFilled.errorColorDefault = nil
|
|
MDCTextInputControllerFilled.inlinePlaceholderColorDefault = nil
|
|
MDCTextInputControllerFilled.mdc_adjustsFontForContentSizeCategoryDefault = false
|
|
MDCTextInputControllerFilled.activeColorDefault = nil
|
|
MDCTextInputControllerFilled.normalColorDefault = nil
|
|
MDCTextInputControllerFilled.disabledColorDefault = nil
|
|
MDCTextInputControllerFilled.underlineViewModeDefault = .whileEditing
|
|
MDCTextInputControllerFilled.leadingUnderlineLabelTextColorDefault = nil
|
|
MDCTextInputControllerFilled.trailingUnderlineLabelTextColorDefault = nil
|
|
|
|
MDCTextInputControllerFilled.inlinePlaceholderFontDefault = nil
|
|
MDCTextInputControllerFilled.leadingUnderlineLabelFontDefault = nil
|
|
MDCTextInputControllerFilled.trailingUnderlineLabelFontDefault = nil
|
|
|
|
MDCTextInputControllerFilled.floatingPlaceholderActiveColorDefault = nil
|
|
|
|
MDCTextInputControllerFilled.floatingPlaceholderNormalColorDefault = nil
|
|
MDCTextInputControllerFilled.floatingPlaceholderScaleDefault = 0.75
|
|
MDCTextInputControllerFilled.textInputClearButtonTintColorDefault = nil;
|
|
|
|
MDCTextInputControllerOutlined.roundedCornersDefault = []
|
|
MDCTextInputControllerOutlined.errorColorDefault = nil
|
|
MDCTextInputControllerOutlined.inlinePlaceholderColorDefault = nil
|
|
MDCTextInputControllerOutlined.mdc_adjustsFontForContentSizeCategoryDefault = false
|
|
MDCTextInputControllerOutlined.activeColorDefault = nil
|
|
MDCTextInputControllerOutlined.normalColorDefault = nil
|
|
MDCTextInputControllerOutlined.disabledColorDefault = nil
|
|
MDCTextInputControllerOutlined.underlineViewModeDefault = .whileEditing
|
|
MDCTextInputControllerOutlined.leadingUnderlineLabelTextColorDefault = nil
|
|
MDCTextInputControllerOutlined.trailingUnderlineLabelTextColorDefault = nil
|
|
|
|
MDCTextInputControllerOutlined.inlinePlaceholderFontDefault = nil
|
|
MDCTextInputControllerOutlined.leadingUnderlineLabelFontDefault = nil
|
|
MDCTextInputControllerOutlined.trailingUnderlineLabelFontDefault = nil
|
|
|
|
MDCTextInputControllerOutlined.floatingPlaceholderActiveColorDefault = nil
|
|
|
|
MDCTextInputControllerOutlined.floatingPlaceholderNormalColorDefault = nil
|
|
MDCTextInputControllerOutlined.floatingPlaceholderScaleDefault = 0.75
|
|
MDCTextInputControllerOutlined.isFloatingEnabledDefault = true
|
|
MDCTextInputControllerOutlined.textInputClearButtonTintColorDefault = nil;
|
|
|
|
MDCTextInputControllerUnderline.roundedCornersDefault = []
|
|
MDCTextInputControllerUnderline.errorColorDefault = nil
|
|
MDCTextInputControllerUnderline.inlinePlaceholderColorDefault = nil
|
|
MDCTextInputControllerUnderline.mdc_adjustsFontForContentSizeCategoryDefault = false
|
|
MDCTextInputControllerUnderline.activeColorDefault = nil
|
|
MDCTextInputControllerUnderline.normalColorDefault = nil
|
|
MDCTextInputControllerUnderline.disabledColorDefault = nil
|
|
MDCTextInputControllerUnderline.underlineViewModeDefault = .whileEditing
|
|
MDCTextInputControllerUnderline.leadingUnderlineLabelTextColorDefault = nil
|
|
MDCTextInputControllerUnderline.trailingUnderlineLabelTextColorDefault = nil
|
|
|
|
MDCTextInputControllerUnderline.inlinePlaceholderFontDefault = nil
|
|
MDCTextInputControllerUnderline.leadingUnderlineLabelFontDefault = nil
|
|
MDCTextInputControllerUnderline.trailingUnderlineLabelFontDefault = nil
|
|
|
|
MDCTextInputControllerUnderline.floatingPlaceholderActiveColorDefault = nil
|
|
|
|
MDCTextInputControllerUnderline.floatingPlaceholderNormalColorDefault = nil
|
|
MDCTextInputControllerUnderline.floatingPlaceholderScaleDefault = 0.75
|
|
MDCTextInputControllerUnderline.isFloatingEnabledDefault = true
|
|
MDCTextInputControllerUnderline.textInputClearButtonTintColorDefault = nil;
|
|
|
|
MDCTextInputControllerFullWidth.errorColorDefault = nil
|
|
MDCTextInputControllerFullWidth.inlinePlaceholderColorDefault = nil
|
|
MDCTextInputControllerFullWidth.mdc_adjustsFontForContentSizeCategoryDefault = false
|
|
MDCTextInputControllerFullWidth.activeColorDefault = nil
|
|
MDCTextInputControllerFullWidth.normalColorDefault = nil
|
|
MDCTextInputControllerFullWidth.disabledColorDefault = nil
|
|
MDCTextInputControllerFullWidth.underlineViewModeDefault = .never
|
|
|
|
MDCTextInputControllerFullWidth.leadingUnderlineLabelTextColorDefault = nil
|
|
MDCTextInputControllerFullWidth.trailingUnderlineLabelTextColorDefault = nil
|
|
|
|
MDCTextInputControllerFullWidth.inlinePlaceholderFontDefault = nil
|
|
MDCTextInputControllerFullWidth.leadingUnderlineLabelFontDefault = nil
|
|
MDCTextInputControllerFullWidth.trailingUnderlineLabelFontDefault = nil
|
|
|
|
MDCTextInputControllerFullWidth.textInputClearButtonTintColorDefault = nil
|
|
}
|
|
|
|
func testFilled() {
|
|
|
|
// Test the values of the class properties.
|
|
XCTAssertEqual(MDCTextInputControllerFilled.errorColorDefault, MDCPalette.red.accent400)
|
|
XCTAssertEqual(MDCTextInputControllerFilled.inlinePlaceholderColorDefault,
|
|
UIColor(white: 0, alpha: CGFloat(0.54)))
|
|
XCTAssertEqual(MDCTextInputControllerFilled.mdc_adjustsFontForContentSizeCategoryDefault, false)
|
|
XCTAssertEqual(MDCTextInputControllerFilled.activeColorDefault,
|
|
MDCPalette.blue.accent700)
|
|
XCTAssertEqual(MDCTextInputControllerFilled.normalColorDefault, .lightGray)
|
|
XCTAssertEqual(MDCTextInputControllerFilled.underlineHeightActiveDefault, 2)
|
|
XCTAssertEqual(MDCTextInputControllerFilled.underlineHeightNormalDefault, 1)
|
|
XCTAssertEqual(MDCTextInputControllerFilled.underlineViewModeDefault, .whileEditing)
|
|
XCTAssertEqual(MDCTextInputControllerFilled.leadingUnderlineLabelTextColorDefault,
|
|
UIColor(white: 0, alpha: CGFloat(0.54)))
|
|
XCTAssertEqual(MDCTextInputControllerFilled.trailingUnderlineLabelTextColorDefault,
|
|
UIColor(white: 0, alpha: CGFloat(0.54)))
|
|
XCTAssertEqual(MDCTextInputControllerFilled.leadingUnderlineLabelTextColorDefault,
|
|
MDCTextInputControllerFilled.inlinePlaceholderColorDefault)
|
|
XCTAssertEqual(MDCTextInputControllerFilled.trailingUnderlineLabelTextColorDefault,
|
|
MDCTextInputControllerFilled.inlinePlaceholderColorDefault)
|
|
|
|
XCTAssertEqual(MDCTextInputControllerFilled.inlinePlaceholderFontDefault,
|
|
UIFont.mdc_standardFont(forMaterialTextStyle: .body1))
|
|
XCTAssertEqual(MDCTextInputControllerFilled.leadingUnderlineLabelFontDefault,
|
|
MDCTextInputControllerFilled.trailingUnderlineLabelFontDefault)
|
|
XCTAssertEqual(MDCTextInputControllerFilled.leadingUnderlineLabelFontDefault,
|
|
UIFont.mdc_standardFont(forMaterialTextStyle: .caption))
|
|
|
|
// Default specific properties
|
|
XCTAssertEqual(MDCTextInputControllerFilled.floatingPlaceholderActiveColorDefault,
|
|
MDCTextInputControllerFilled.activeColorDefault)
|
|
|
|
XCTAssertEqual(MDCTextInputControllerFilled.floatingPlaceholderNormalColorDefault,
|
|
UIColor(white: 0, alpha: CGFloat(0.54)))
|
|
XCTAssertEqual(Float(MDCTextInputControllerFilled.floatingPlaceholderScaleDefault), 0.75)
|
|
XCTAssertEqual(MDCTextInputControllerFilled.isFloatingEnabledDefault, true)
|
|
XCTAssertEqual(MDCTextInputControllerFilled.roundedCornersDefault,
|
|
[UIRectCorner.topLeft, .topRight])
|
|
|
|
XCTAssertNil(MDCTextInputControllerFilled.textInputClearButtonTintColorDefault)
|
|
|
|
// Test the use of the class properties.
|
|
let textField = MDCTextField()
|
|
var controller = MDCTextInputControllerFilled(textInput: textField)
|
|
|
|
XCTAssertEqual(controller.errorColor, MDCTextInputControllerFilled.errorColorDefault)
|
|
XCTAssertEqual(controller.inlinePlaceholderColor,
|
|
MDCTextInputControllerFilled.inlinePlaceholderColorDefault)
|
|
XCTAssertEqual(controller.mdc_adjustsFontForContentSizeCategory,
|
|
MDCTextInputControllerFilled.mdc_adjustsFontForContentSizeCategoryDefault)
|
|
XCTAssertEqual(controller.activeColor,
|
|
MDCTextInputControllerFilled.activeColorDefault)
|
|
XCTAssertEqual(controller.normalColor,
|
|
MDCTextInputControllerFilled.normalColorDefault)
|
|
XCTAssertEqual(controller.underlineHeightActive,
|
|
MDCTextInputControllerFilled.underlineHeightActiveDefault)
|
|
XCTAssertEqual(controller.underlineHeightNormal,
|
|
MDCTextInputControllerFilled.underlineHeightNormalDefault)
|
|
XCTAssertEqual(controller.underlineViewMode,
|
|
MDCTextInputControllerFilled.underlineViewModeDefault)
|
|
XCTAssertEqual(controller.leadingUnderlineLabelTextColor,
|
|
MDCTextInputControllerFilled.leadingUnderlineLabelTextColorDefault)
|
|
XCTAssertEqual(controller.trailingUnderlineLabelTextColor,
|
|
MDCTextInputControllerFilled.trailingUnderlineLabelTextColorDefault)
|
|
|
|
XCTAssertEqual(controller.inlinePlaceholderFont,
|
|
MDCTextInputControllerFilled.inlinePlaceholderFontDefault)
|
|
XCTAssertEqual(controller.leadingUnderlineLabelFont,
|
|
MDCTextInputControllerFilled.leadingUnderlineLabelFontDefault)
|
|
XCTAssertEqual(controller.trailingUnderlineLabelFont,
|
|
MDCTextInputControllerFilled.trailingUnderlineLabelFontDefault)
|
|
|
|
// Default specific properties
|
|
XCTAssertEqual(controller.floatingPlaceholderActiveColor,
|
|
MDCTextInputControllerFilled.floatingPlaceholderActiveColorDefault)
|
|
|
|
XCTAssertEqual(controller.floatingPlaceholderNormalColor,
|
|
MDCTextInputControllerFilled.floatingPlaceholderNormalColorDefault)
|
|
XCTAssertEqual(controller.isFloatingEnabled,
|
|
MDCTextInputControllerFilled.isFloatingEnabledDefault)
|
|
XCTAssertEqual(controller.roundedCorners, MDCTextInputControllerFilled.roundedCornersDefault)
|
|
|
|
// Test the changes to the class properties.
|
|
MDCTextInputControllerFilled.errorColorDefault = .green
|
|
XCTAssertEqual(MDCTextInputControllerFilled.errorColorDefault, .green)
|
|
|
|
MDCTextInputControllerFilled.inlinePlaceholderColorDefault = .orange
|
|
XCTAssertEqual(MDCTextInputControllerFilled.inlinePlaceholderColorDefault, .orange)
|
|
|
|
MDCTextInputControllerFilled.mdc_adjustsFontForContentSizeCategoryDefault = false
|
|
XCTAssertEqual(MDCTextInputControllerFilled.mdc_adjustsFontForContentSizeCategoryDefault,
|
|
false)
|
|
|
|
MDCTextInputControllerFilled.activeColorDefault = .purple
|
|
XCTAssertEqual(MDCTextInputControllerFilled.activeColorDefault, .purple)
|
|
|
|
MDCTextInputControllerFilled.normalColorDefault = .white
|
|
XCTAssertEqual(MDCTextInputControllerFilled.normalColorDefault, .white)
|
|
|
|
MDCTextInputControllerFilled.underlineHeightActiveDefault = 11
|
|
XCTAssertEqual(MDCTextInputControllerFilled.underlineHeightActiveDefault, 11)
|
|
|
|
MDCTextInputControllerFilled.underlineHeightNormalDefault = 5
|
|
XCTAssertEqual(MDCTextInputControllerFilled.underlineHeightNormalDefault, 5)
|
|
|
|
MDCTextInputControllerFilled.underlineViewModeDefault = .unlessEditing
|
|
XCTAssertEqual(MDCTextInputControllerFilled.underlineViewModeDefault, .unlessEditing)
|
|
|
|
MDCTextInputControllerFilled.leadingUnderlineLabelTextColorDefault = .brown
|
|
XCTAssertEqual(MDCTextInputControllerFilled.leadingUnderlineLabelTextColorDefault, .brown)
|
|
|
|
MDCTextInputControllerFilled.trailingUnderlineLabelTextColorDefault = .cyan
|
|
XCTAssertEqual(MDCTextInputControllerFilled.trailingUnderlineLabelTextColorDefault, .cyan)
|
|
|
|
MDCTextInputControllerFilled.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 4)
|
|
XCTAssertEqual(MDCTextInputControllerFilled.inlinePlaceholderFontDefault,
|
|
UIFont.systemFont(ofSize: 4))
|
|
|
|
MDCTextInputControllerFilled.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 5)
|
|
XCTAssertEqual(MDCTextInputControllerFilled.inlinePlaceholderFontDefault,
|
|
UIFont.systemFont(ofSize: 5))
|
|
|
|
MDCTextInputControllerFilled.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 6)
|
|
XCTAssertEqual(MDCTextInputControllerFilled.inlinePlaceholderFontDefault,
|
|
UIFont.systemFont(ofSize: 6))
|
|
|
|
// Default specific properties
|
|
MDCTextInputControllerFilled.floatingPlaceholderActiveColorDefault = .yellow
|
|
XCTAssertEqual(MDCTextInputControllerFilled.floatingPlaceholderActiveColorDefault, .yellow)
|
|
|
|
MDCTextInputControllerFilled.floatingPlaceholderNormalColorDefault = .orange
|
|
XCTAssertEqual(MDCTextInputControllerFilled.floatingPlaceholderNormalColorDefault, .orange)
|
|
|
|
MDCTextInputControllerFilled.floatingPlaceholderScaleDefault = 0.6
|
|
XCTAssertEqual(Float(MDCTextInputControllerFilled.floatingPlaceholderScaleDefault), 0.6)
|
|
|
|
MDCTextInputControllerFilled.isFloatingEnabledDefault = false
|
|
XCTAssertEqual(MDCTextInputControllerFilled.isFloatingEnabledDefault, false)
|
|
|
|
MDCTextInputControllerFilled.roundedCornersDefault = [.bottomRight]
|
|
XCTAssertEqual(MDCTextInputControllerFilled.roundedCornersDefault, [.bottomRight])
|
|
|
|
// Test that the changes to the class properties can propagate to an instance.
|
|
controller = MDCTextInputControllerFilled(textInput: textField)
|
|
|
|
XCTAssertEqual(controller.errorColor, MDCTextInputControllerFilled.errorColorDefault)
|
|
XCTAssertEqual(controller.inlinePlaceholderColor,
|
|
MDCTextInputControllerFilled.inlinePlaceholderColorDefault)
|
|
XCTAssertEqual(controller.mdc_adjustsFontForContentSizeCategory,
|
|
MDCTextInputControllerFilled.mdc_adjustsFontForContentSizeCategoryDefault)
|
|
XCTAssertEqual(controller.activeColor,
|
|
MDCTextInputControllerFilled.activeColorDefault)
|
|
XCTAssertEqual(controller.normalColor,
|
|
MDCTextInputControllerFilled.normalColorDefault)
|
|
XCTAssertEqual(controller.underlineHeightActive,
|
|
MDCTextInputControllerFilled.underlineHeightActiveDefault)
|
|
XCTAssertEqual(controller.underlineHeightNormal,
|
|
MDCTextInputControllerFilled.underlineHeightNormalDefault)
|
|
XCTAssertEqual(controller.underlineViewMode,
|
|
MDCTextInputControllerFilled.underlineViewModeDefault)
|
|
XCTAssertEqual(controller.leadingUnderlineLabelTextColor,
|
|
MDCTextInputControllerFilled.leadingUnderlineLabelTextColorDefault)
|
|
XCTAssertEqual(controller.trailingUnderlineLabelTextColor,
|
|
MDCTextInputControllerFilled.trailingUnderlineLabelTextColorDefault)
|
|
|
|
XCTAssertEqual(controller.inlinePlaceholderFont,
|
|
MDCTextInputControllerFilled.inlinePlaceholderFontDefault)
|
|
XCTAssertEqual(controller.leadingUnderlineLabelFont,
|
|
MDCTextInputControllerFilled.leadingUnderlineLabelFontDefault)
|
|
XCTAssertEqual(controller.trailingUnderlineLabelFont,
|
|
MDCTextInputControllerFilled.trailingUnderlineLabelFontDefault)
|
|
|
|
// Default specific properties
|
|
XCTAssertEqual(controller.floatingPlaceholderActiveColor,
|
|
MDCTextInputControllerFilled.floatingPlaceholderActiveColorDefault)
|
|
|
|
XCTAssertEqual(controller.floatingPlaceholderNormalColor,
|
|
MDCTextInputControllerFilled.floatingPlaceholderNormalColorDefault)
|
|
XCTAssertEqual(controller.roundedCorners, MDCTextInputControllerFilled.roundedCornersDefault)
|
|
|
|
}
|
|
|
|
func testOutlined() {
|
|
// Test the values of the class properties.
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.errorColorDefault, MDCPalette.red.accent400)
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.inlinePlaceholderColorDefault,
|
|
UIColor(white: 0, alpha: CGFloat(0.54)))
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.mdc_adjustsFontForContentSizeCategoryDefault, false)
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.activeColorDefault,
|
|
MDCPalette.blue.accent700)
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.normalColorDefault, .lightGray)
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.underlineHeightActiveDefault, 0)
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.underlineHeightNormalDefault, 0)
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.underlineViewModeDefault, .whileEditing)
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.leadingUnderlineLabelTextColorDefault,
|
|
UIColor(white: 0, alpha: CGFloat(0.54)))
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.trailingUnderlineLabelTextColorDefault,
|
|
UIColor(white: 0, alpha: CGFloat(0.54)))
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.leadingUnderlineLabelTextColorDefault,
|
|
MDCTextInputControllerOutlined.inlinePlaceholderColorDefault)
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.trailingUnderlineLabelTextColorDefault,
|
|
MDCTextInputControllerOutlined.inlinePlaceholderColorDefault)
|
|
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.inlinePlaceholderFontDefault,
|
|
UIFont.mdc_standardFont(forMaterialTextStyle: .body1))
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.leadingUnderlineLabelFontDefault,
|
|
MDCTextInputControllerOutlined.trailingUnderlineLabelFontDefault)
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.leadingUnderlineLabelFontDefault,
|
|
UIFont.mdc_standardFont(forMaterialTextStyle: .caption))
|
|
|
|
// Default specific properties
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.floatingPlaceholderActiveColorDefault,
|
|
MDCTextInputControllerOutlined.activeColorDefault)
|
|
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.floatingPlaceholderNormalColorDefault,
|
|
UIColor(white: 0, alpha: CGFloat(0.54)))
|
|
XCTAssertEqual(Float(MDCTextInputControllerOutlined.floatingPlaceholderScaleDefault), 0.75)
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.isFloatingEnabledDefault, true)
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.roundedCornersDefault, [])
|
|
|
|
XCTAssertNil(MDCTextInputControllerOutlined.textInputClearButtonTintColorDefault)
|
|
|
|
// Test the use of the class properties.
|
|
let textField = MDCTextField()
|
|
var controller = MDCTextInputControllerOutlined(textInput: textField)
|
|
|
|
XCTAssertEqual(controller.errorColor, MDCTextInputControllerOutlined.errorColorDefault)
|
|
XCTAssertEqual(controller.inlinePlaceholderColor,
|
|
MDCTextInputControllerOutlined.inlinePlaceholderColorDefault)
|
|
XCTAssertEqual(controller.mdc_adjustsFontForContentSizeCategory,
|
|
MDCTextInputControllerOutlined.mdc_adjustsFontForContentSizeCategoryDefault)
|
|
XCTAssertEqual(controller.activeColor,
|
|
MDCTextInputControllerOutlined.activeColorDefault)
|
|
XCTAssertEqual(controller.normalColor,
|
|
MDCTextInputControllerOutlined.normalColorDefault)
|
|
XCTAssertEqual(controller.underlineHeightActive,
|
|
MDCTextInputControllerOutlined.underlineHeightActiveDefault)
|
|
XCTAssertEqual(controller.underlineHeightNormal,
|
|
MDCTextInputControllerOutlined.underlineHeightNormalDefault)
|
|
XCTAssertEqual(controller.underlineViewMode,
|
|
MDCTextInputControllerOutlined.underlineViewModeDefault)
|
|
XCTAssertEqual(controller.leadingUnderlineLabelTextColor,
|
|
MDCTextInputControllerOutlined.leadingUnderlineLabelTextColorDefault)
|
|
XCTAssertEqual(controller.trailingUnderlineLabelTextColor,
|
|
MDCTextInputControllerOutlined.trailingUnderlineLabelTextColorDefault)
|
|
|
|
XCTAssertEqual(controller.inlinePlaceholderFont,
|
|
MDCTextInputControllerOutlined.inlinePlaceholderFontDefault)
|
|
XCTAssertEqual(controller.leadingUnderlineLabelFont,
|
|
MDCTextInputControllerOutlined.leadingUnderlineLabelFontDefault)
|
|
XCTAssertEqual(controller.trailingUnderlineLabelFont,
|
|
MDCTextInputControllerOutlined.trailingUnderlineLabelFontDefault)
|
|
|
|
// Default specific properties
|
|
XCTAssertEqual(controller.floatingPlaceholderActiveColor,
|
|
MDCTextInputControllerOutlined.floatingPlaceholderActiveColorDefault)
|
|
|
|
XCTAssertEqual(controller.floatingPlaceholderNormalColor,
|
|
MDCTextInputControllerOutlined.floatingPlaceholderNormalColorDefault)
|
|
XCTAssertEqual(controller.isFloatingEnabled,
|
|
MDCTextInputControllerOutlined.isFloatingEnabledDefault)
|
|
XCTAssertEqual(controller.roundedCorners, MDCTextInputControllerOutlined.roundedCornersDefault)
|
|
|
|
// Test the changes to the class properties.
|
|
MDCTextInputControllerOutlined.errorColorDefault = .green
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.errorColorDefault, .green)
|
|
|
|
MDCTextInputControllerOutlined.inlinePlaceholderColorDefault = .orange
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.inlinePlaceholderColorDefault, .orange)
|
|
|
|
MDCTextInputControllerOutlined.mdc_adjustsFontForContentSizeCategoryDefault = false
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.mdc_adjustsFontForContentSizeCategoryDefault,
|
|
false)
|
|
|
|
MDCTextInputControllerOutlined.activeColorDefault = .purple
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.activeColorDefault, .purple)
|
|
|
|
MDCTextInputControllerOutlined.normalColorDefault = .white
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.normalColorDefault, .white)
|
|
|
|
MDCTextInputControllerOutlined.underlineHeightActiveDefault = 11
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.underlineHeightActiveDefault, 11)
|
|
|
|
MDCTextInputControllerOutlined.underlineHeightNormalDefault = 5
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.underlineHeightNormalDefault, 5)
|
|
|
|
MDCTextInputControllerOutlined.underlineViewModeDefault = .unlessEditing
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.underlineViewModeDefault, .unlessEditing)
|
|
|
|
MDCTextInputControllerOutlined.leadingUnderlineLabelTextColorDefault = .green
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.leadingUnderlineLabelTextColorDefault, .green)
|
|
|
|
MDCTextInputControllerOutlined.trailingUnderlineLabelTextColorDefault = .gray
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.trailingUnderlineLabelTextColorDefault, .gray)
|
|
|
|
MDCTextInputControllerOutlined.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 4)
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.inlinePlaceholderFontDefault,
|
|
UIFont.systemFont(ofSize: 4))
|
|
|
|
MDCTextInputControllerOutlined.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 5)
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.inlinePlaceholderFontDefault,
|
|
UIFont.systemFont(ofSize: 5))
|
|
|
|
MDCTextInputControllerOutlined.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 6)
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.inlinePlaceholderFontDefault,
|
|
UIFont.systemFont(ofSize: 6))
|
|
|
|
// Default specific properties
|
|
MDCTextInputControllerOutlined.floatingPlaceholderActiveColorDefault = .clear
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.floatingPlaceholderActiveColorDefault, .clear)
|
|
|
|
MDCTextInputControllerOutlined.floatingPlaceholderNormalColorDefault = .purple
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.floatingPlaceholderNormalColorDefault, .purple)
|
|
|
|
MDCTextInputControllerOutlined.floatingPlaceholderScaleDefault = 0.6
|
|
XCTAssertEqual(Float(MDCTextInputControllerOutlined.floatingPlaceholderScaleDefault), 0.6)
|
|
|
|
MDCTextInputControllerOutlined.isFloatingEnabledDefault = false
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.isFloatingEnabledDefault, false)
|
|
|
|
MDCTextInputControllerOutlined.roundedCornersDefault = [.bottomRight]
|
|
XCTAssertEqual(MDCTextInputControllerOutlined.roundedCornersDefault, [.bottomRight])
|
|
|
|
// Test that the changes to the class properties can propagate to an instance.
|
|
controller = MDCTextInputControllerOutlined(textInput: textField)
|
|
|
|
XCTAssertEqual(controller.errorColor, MDCTextInputControllerOutlined.errorColorDefault)
|
|
XCTAssertEqual(controller.inlinePlaceholderColor,
|
|
MDCTextInputControllerOutlined.inlinePlaceholderColorDefault)
|
|
XCTAssertEqual(controller.mdc_adjustsFontForContentSizeCategory,
|
|
MDCTextInputControllerOutlined.mdc_adjustsFontForContentSizeCategoryDefault)
|
|
XCTAssertEqual(controller.activeColor,
|
|
MDCTextInputControllerOutlined.activeColorDefault)
|
|
XCTAssertEqual(controller.normalColor,
|
|
MDCTextInputControllerOutlined.normalColorDefault)
|
|
XCTAssertEqual(controller.underlineHeightActive,
|
|
MDCTextInputControllerOutlined.underlineHeightActiveDefault)
|
|
XCTAssertEqual(controller.underlineHeightNormal,
|
|
MDCTextInputControllerOutlined.underlineHeightNormalDefault)
|
|
XCTAssertEqual(controller.underlineViewMode,
|
|
MDCTextInputControllerOutlined.underlineViewModeDefault)
|
|
XCTAssertEqual(controller.leadingUnderlineLabelTextColor,
|
|
MDCTextInputControllerOutlined.leadingUnderlineLabelTextColorDefault)
|
|
XCTAssertEqual(controller.trailingUnderlineLabelTextColor,
|
|
MDCTextInputControllerOutlined.trailingUnderlineLabelTextColorDefault)
|
|
|
|
XCTAssertEqual(controller.inlinePlaceholderFont,
|
|
MDCTextInputControllerOutlined.inlinePlaceholderFontDefault)
|
|
XCTAssertEqual(controller.leadingUnderlineLabelFont,
|
|
MDCTextInputControllerOutlined.leadingUnderlineLabelFontDefault)
|
|
XCTAssertEqual(controller.trailingUnderlineLabelFont,
|
|
MDCTextInputControllerOutlined.trailingUnderlineLabelFontDefault)
|
|
|
|
// Default specific properties
|
|
XCTAssertEqual(controller.floatingPlaceholderActiveColor,
|
|
MDCTextInputControllerOutlined.floatingPlaceholderActiveColorDefault)
|
|
|
|
XCTAssertEqual(controller.floatingPlaceholderNormalColor,
|
|
MDCTextInputControllerOutlined.floatingPlaceholderNormalColorDefault)
|
|
XCTAssertEqual(controller.roundedCorners, MDCTextInputControllerOutlined.roundedCornersDefault)
|
|
}
|
|
|
|
func testUnderline() {
|
|
|
|
// Test the values of the class properties.
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.errorColorDefault, MDCPalette.red.accent400)
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.inlinePlaceholderColorDefault,
|
|
UIColor(white: 0, alpha: CGFloat(0.54)))
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.mdc_adjustsFontForContentSizeCategoryDefault, false)
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.activeColorDefault,
|
|
MDCPalette.blue.accent700)
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.normalColorDefault, .lightGray)
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.underlineHeightActiveDefault, 2)
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.underlineHeightNormalDefault, 1)
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.underlineViewModeDefault, .whileEditing)
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.leadingUnderlineLabelTextColorDefault,
|
|
UIColor(white: 0, alpha: CGFloat(0.54)))
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.trailingUnderlineLabelTextColorDefault,
|
|
UIColor(white: 0, alpha: CGFloat(0.54)))
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.leadingUnderlineLabelTextColorDefault,
|
|
MDCTextInputControllerUnderline.inlinePlaceholderColorDefault)
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.trailingUnderlineLabelTextColorDefault,
|
|
MDCTextInputControllerUnderline.inlinePlaceholderColorDefault)
|
|
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.inlinePlaceholderFontDefault,
|
|
UIFont.mdc_standardFont(forMaterialTextStyle: .body1))
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.leadingUnderlineLabelFontDefault,
|
|
MDCTextInputControllerUnderline.trailingUnderlineLabelFontDefault)
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.leadingUnderlineLabelFontDefault,
|
|
UIFont.mdc_standardFont(forMaterialTextStyle: .caption))
|
|
|
|
// Default specific properties
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.floatingPlaceholderActiveColorDefault,
|
|
MDCTextInputControllerUnderline.activeColorDefault)
|
|
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.floatingPlaceholderNormalColorDefault,
|
|
UIColor(white: 0, alpha: CGFloat(0.54)))
|
|
XCTAssertEqual(Float(MDCTextInputControllerUnderline.floatingPlaceholderScaleDefault), 0.75)
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.isFloatingEnabledDefault, true)
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.roundedCornersDefault, [])
|
|
|
|
XCTAssertNil(MDCTextInputControllerUnderline.textInputClearButtonTintColorDefault)
|
|
|
|
// Test the use of the class properties.
|
|
let textField = MDCTextField()
|
|
var controller = MDCTextInputControllerUnderline(textInput: textField)
|
|
|
|
XCTAssertEqual(controller.errorColor, MDCTextInputControllerUnderline.errorColorDefault)
|
|
XCTAssertEqual(controller.inlinePlaceholderColor,
|
|
MDCTextInputControllerUnderline.inlinePlaceholderColorDefault)
|
|
XCTAssertEqual(controller.mdc_adjustsFontForContentSizeCategory,
|
|
MDCTextInputControllerUnderline.mdc_adjustsFontForContentSizeCategoryDefault)
|
|
XCTAssertEqual(controller.activeColor,
|
|
MDCTextInputControllerUnderline.activeColorDefault)
|
|
XCTAssertEqual(controller.normalColor,
|
|
MDCTextInputControllerUnderline.normalColorDefault)
|
|
XCTAssertEqual(controller.underlineHeightActive,
|
|
MDCTextInputControllerUnderline.underlineHeightActiveDefault)
|
|
XCTAssertEqual(controller.underlineHeightNormal,
|
|
MDCTextInputControllerUnderline.underlineHeightNormalDefault)
|
|
XCTAssertEqual(controller.underlineViewMode,
|
|
MDCTextInputControllerUnderline.underlineViewModeDefault)
|
|
XCTAssertEqual(controller.leadingUnderlineLabelTextColor,
|
|
MDCTextInputControllerUnderline.leadingUnderlineLabelTextColorDefault)
|
|
XCTAssertEqual(controller.trailingUnderlineLabelTextColor,
|
|
MDCTextInputControllerUnderline.trailingUnderlineLabelTextColorDefault)
|
|
|
|
XCTAssertEqual(controller.inlinePlaceholderFont,
|
|
MDCTextInputControllerUnderline.inlinePlaceholderFontDefault)
|
|
XCTAssertEqual(controller.leadingUnderlineLabelFont,
|
|
MDCTextInputControllerUnderline.leadingUnderlineLabelFontDefault)
|
|
XCTAssertEqual(controller.trailingUnderlineLabelFont,
|
|
MDCTextInputControllerUnderline.trailingUnderlineLabelFontDefault)
|
|
|
|
// Default specific properties
|
|
XCTAssertEqual(controller.floatingPlaceholderActiveColor,
|
|
MDCTextInputControllerUnderline.floatingPlaceholderActiveColorDefault)
|
|
|
|
XCTAssertEqual(controller.floatingPlaceholderNormalColor,
|
|
MDCTextInputControllerUnderline.floatingPlaceholderNormalColorDefault)
|
|
XCTAssertEqual(controller.isFloatingEnabled,
|
|
MDCTextInputControllerUnderline.isFloatingEnabledDefault)
|
|
XCTAssertEqual(controller.roundedCorners, MDCTextInputControllerUnderline.roundedCornersDefault)
|
|
|
|
// Test the changes to the class properties.
|
|
MDCTextInputControllerUnderline.errorColorDefault = .green
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.errorColorDefault, .green)
|
|
|
|
MDCTextInputControllerUnderline.inlinePlaceholderColorDefault = .orange
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.inlinePlaceholderColorDefault, .orange)
|
|
|
|
MDCTextInputControllerUnderline.mdc_adjustsFontForContentSizeCategoryDefault = false
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.mdc_adjustsFontForContentSizeCategoryDefault,
|
|
false)
|
|
|
|
MDCTextInputControllerUnderline.activeColorDefault = .purple
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.activeColorDefault, .purple)
|
|
|
|
MDCTextInputControllerUnderline.normalColorDefault = .white
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.normalColorDefault, .white)
|
|
|
|
MDCTextInputControllerUnderline.underlineHeightActiveDefault = 11
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.underlineHeightActiveDefault, 11)
|
|
|
|
MDCTextInputControllerUnderline.underlineHeightNormalDefault = 5
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.underlineHeightNormalDefault, 5)
|
|
|
|
MDCTextInputControllerUnderline.underlineViewModeDefault = .unlessEditing
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.underlineViewModeDefault, .unlessEditing)
|
|
|
|
MDCTextInputControllerUnderline.leadingUnderlineLabelTextColorDefault = .blue
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.leadingUnderlineLabelTextColorDefault, .blue)
|
|
|
|
MDCTextInputControllerUnderline.trailingUnderlineLabelTextColorDefault = .white
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.trailingUnderlineLabelTextColorDefault, .white)
|
|
|
|
MDCTextInputControllerUnderline.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 4)
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.inlinePlaceholderFontDefault,
|
|
UIFont.systemFont(ofSize: 4))
|
|
|
|
MDCTextInputControllerUnderline.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 5)
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.inlinePlaceholderFontDefault,
|
|
UIFont.systemFont(ofSize: 5))
|
|
|
|
MDCTextInputControllerUnderline.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 6)
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.inlinePlaceholderFontDefault,
|
|
UIFont.systemFont(ofSize: 6))
|
|
|
|
// Default specific properties
|
|
MDCTextInputControllerUnderline.floatingPlaceholderActiveColorDefault = .red
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.floatingPlaceholderActiveColorDefault, .red)
|
|
|
|
MDCTextInputControllerUnderline.floatingPlaceholderNormalColorDefault = .red
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.floatingPlaceholderNormalColorDefault, .red)
|
|
|
|
MDCTextInputControllerUnderline.floatingPlaceholderScaleDefault = 0.6
|
|
XCTAssertEqual(Float(MDCTextInputControllerUnderline.floatingPlaceholderScaleDefault), 0.6)
|
|
|
|
MDCTextInputControllerUnderline.isFloatingEnabledDefault = false
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.isFloatingEnabledDefault, false)
|
|
|
|
MDCTextInputControllerUnderline.roundedCornersDefault = [.bottomRight]
|
|
XCTAssertEqual(MDCTextInputControllerUnderline.roundedCornersDefault, [.bottomRight])
|
|
|
|
// Test that the changes to the class properties can propagate to an instance.
|
|
controller = MDCTextInputControllerUnderline(textInput: textField)
|
|
|
|
XCTAssertEqual(controller.errorColor, MDCTextInputControllerUnderline.errorColorDefault)
|
|
XCTAssertEqual(controller.inlinePlaceholderColor,
|
|
MDCTextInputControllerUnderline.inlinePlaceholderColorDefault)
|
|
XCTAssertEqual(controller.mdc_adjustsFontForContentSizeCategory,
|
|
MDCTextInputControllerUnderline.mdc_adjustsFontForContentSizeCategoryDefault)
|
|
XCTAssertEqual(controller.activeColor,
|
|
MDCTextInputControllerUnderline.activeColorDefault)
|
|
XCTAssertEqual(controller.normalColor,
|
|
MDCTextInputControllerUnderline.normalColorDefault)
|
|
XCTAssertEqual(controller.underlineHeightActive,
|
|
MDCTextInputControllerUnderline.underlineHeightActiveDefault)
|
|
XCTAssertEqual(controller.underlineHeightNormal,
|
|
MDCTextInputControllerUnderline.underlineHeightNormalDefault)
|
|
XCTAssertEqual(controller.underlineViewMode,
|
|
MDCTextInputControllerUnderline.underlineViewModeDefault)
|
|
XCTAssertEqual(controller.leadingUnderlineLabelTextColor,
|
|
MDCTextInputControllerUnderline.leadingUnderlineLabelTextColorDefault)
|
|
XCTAssertEqual(controller.trailingUnderlineLabelTextColor,
|
|
MDCTextInputControllerUnderline.trailingUnderlineLabelTextColorDefault)
|
|
|
|
XCTAssertEqual(controller.inlinePlaceholderFont,
|
|
MDCTextInputControllerUnderline.inlinePlaceholderFontDefault)
|
|
XCTAssertEqual(controller.leadingUnderlineLabelFont,
|
|
MDCTextInputControllerUnderline.leadingUnderlineLabelFontDefault)
|
|
XCTAssertEqual(controller.trailingUnderlineLabelFont,
|
|
MDCTextInputControllerUnderline.trailingUnderlineLabelFontDefault)
|
|
|
|
// Default specific properties
|
|
XCTAssertEqual(controller.floatingPlaceholderActiveColor,
|
|
MDCTextInputControllerUnderline.floatingPlaceholderActiveColorDefault)
|
|
|
|
XCTAssertEqual(controller.floatingPlaceholderNormalColor,
|
|
MDCTextInputControllerUnderline.floatingPlaceholderNormalColorDefault)
|
|
XCTAssertEqual(controller.isFloatingEnabled,
|
|
MDCTextInputControllerUnderline.isFloatingEnabledDefault)
|
|
XCTAssertEqual(controller.roundedCorners, MDCTextInputControllerUnderline.roundedCornersDefault)
|
|
}
|
|
|
|
func testFullWidth() {
|
|
// Test the values of the class properties.
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.disabledColorDefault, .clear)
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.errorColorDefault, MDCPalette.red.accent400)
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.inlinePlaceholderColorDefault,
|
|
UIColor(white: 0, alpha: CGFloat(0.54)))
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.mdc_adjustsFontForContentSizeCategoryDefault,
|
|
false)
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.activeColorDefault, .clear)
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.normalColorDefault, .clear)
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.underlineHeightActiveDefault, 0)
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.underlineHeightNormalDefault, 0)
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.underlineViewModeDefault, .never)
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.leadingUnderlineLabelTextColorDefault, .clear)
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.trailingUnderlineLabelTextColorDefault,
|
|
UIColor(white: 0, alpha: CGFloat(0.54)))
|
|
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.inlinePlaceholderFontDefault,
|
|
UIFont.mdc_standardFont(forMaterialTextStyle: .body1))
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.leadingUnderlineLabelFontDefault,
|
|
MDCTextInputControllerFullWidth.trailingUnderlineLabelFontDefault)
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.leadingUnderlineLabelFontDefault,
|
|
UIFont.mdc_standardFont(forMaterialTextStyle: .caption))
|
|
|
|
XCTAssertNil(MDCTextInputControllerFilled.textInputClearButtonTintColorDefault)
|
|
|
|
// Test the use of the class properties.
|
|
let textField = MDCTextField()
|
|
var controller = MDCTextInputControllerFullWidth(textInput: textField)
|
|
|
|
XCTAssertEqual(controller.disabledColor, .clear)
|
|
XCTAssertEqual(controller.errorColor, MDCTextInputControllerFullWidth.errorColorDefault)
|
|
XCTAssertEqual(controller.inlinePlaceholderColor,
|
|
MDCTextInputControllerFullWidth.inlinePlaceholderColorDefault)
|
|
XCTAssertEqual(controller.mdc_adjustsFontForContentSizeCategory,
|
|
MDCTextInputControllerFullWidth.mdc_adjustsFontForContentSizeCategoryDefault)
|
|
XCTAssertEqual(controller.activeColor,
|
|
MDCTextInputControllerFullWidth.activeColorDefault)
|
|
XCTAssertEqual(controller.normalColor,
|
|
MDCTextInputControllerFullWidth.normalColorDefault)
|
|
XCTAssertEqual(controller.underlineHeightActive,
|
|
MDCTextInputControllerFullWidth.underlineHeightActiveDefault)
|
|
XCTAssertEqual(controller.underlineHeightNormal,
|
|
MDCTextInputControllerFullWidth.underlineHeightNormalDefault)
|
|
XCTAssertEqual(controller.underlineViewMode,
|
|
MDCTextInputControllerFullWidth.underlineViewModeDefault)
|
|
XCTAssertEqual(controller.leadingUnderlineLabelTextColor,
|
|
MDCTextInputControllerFullWidth.leadingUnderlineLabelTextColorDefault)
|
|
XCTAssertEqual(controller.trailingUnderlineLabelTextColor,
|
|
MDCTextInputControllerFullWidth.trailingUnderlineLabelTextColorDefault)
|
|
|
|
XCTAssertEqual(controller.inlinePlaceholderFont,
|
|
MDCTextInputControllerFullWidth.inlinePlaceholderFontDefault)
|
|
XCTAssertEqual(controller.leadingUnderlineLabelFont,
|
|
MDCTextInputControllerFullWidth.leadingUnderlineLabelFontDefault)
|
|
XCTAssertEqual(controller.trailingUnderlineLabelFont,
|
|
MDCTextInputControllerFullWidth.trailingUnderlineLabelFontDefault)
|
|
|
|
// Test the changes to the class properties.
|
|
MDCTextInputControllerFullWidth.disabledColorDefault = .red
|
|
XCTAssertNotEqual(MDCTextInputControllerFullWidth.disabledColorDefault, .red)
|
|
|
|
MDCTextInputControllerFullWidth.errorColorDefault = .green
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.errorColorDefault, .green)
|
|
|
|
MDCTextInputControllerFullWidth.inlinePlaceholderColorDefault = .orange
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.inlinePlaceholderColorDefault, .orange)
|
|
|
|
MDCTextInputControllerFullWidth.mdc_adjustsFontForContentSizeCategoryDefault = false
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.mdc_adjustsFontForContentSizeCategoryDefault,
|
|
false)
|
|
|
|
MDCTextInputControllerFullWidth.activeColorDefault = .purple
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.activeColorDefault, .clear)
|
|
|
|
MDCTextInputControllerFullWidth.normalColorDefault = .white
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.normalColorDefault, .clear)
|
|
|
|
MDCTextInputControllerFullWidth.underlineHeightActiveDefault = 9
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.underlineHeightActiveDefault, 0)
|
|
|
|
MDCTextInputControllerFullWidth.underlineHeightNormalDefault = 17
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.underlineHeightNormalDefault, 0)
|
|
|
|
MDCTextInputControllerFullWidth.underlineViewModeDefault = .unlessEditing
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.underlineViewModeDefault, .never)
|
|
|
|
MDCTextInputControllerFullWidth.leadingUnderlineLabelTextColorDefault = .brown
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.leadingUnderlineLabelTextColorDefault, .clear)
|
|
|
|
MDCTextInputControllerFullWidth.trailingUnderlineLabelTextColorDefault = .cyan
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.trailingUnderlineLabelTextColorDefault, .cyan)
|
|
|
|
MDCTextInputControllerFullWidth.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 4)
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.inlinePlaceholderFontDefault,
|
|
UIFont.systemFont(ofSize: 4))
|
|
|
|
MDCTextInputControllerFullWidth.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 5)
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.inlinePlaceholderFontDefault,
|
|
UIFont.systemFont(ofSize: 5))
|
|
|
|
MDCTextInputControllerFullWidth.inlinePlaceholderFontDefault = UIFont.systemFont(ofSize: 6)
|
|
XCTAssertEqual(MDCTextInputControllerFullWidth.inlinePlaceholderFontDefault,
|
|
UIFont.systemFont(ofSize: 6))
|
|
|
|
// Test the changes to the class properties can propagate to an instance.
|
|
controller = MDCTextInputControllerFullWidth(textInput: textField)
|
|
|
|
XCTAssertEqual(controller.disabledColor, .clear)
|
|
XCTAssertEqual(controller.errorColor, MDCTextInputControllerFullWidth.errorColorDefault)
|
|
XCTAssertEqual(controller.inlinePlaceholderColor,
|
|
MDCTextInputControllerFullWidth.inlinePlaceholderColorDefault)
|
|
XCTAssertEqual(controller.mdc_adjustsFontForContentSizeCategory,
|
|
MDCTextInputControllerFullWidth.mdc_adjustsFontForContentSizeCategoryDefault)
|
|
XCTAssertEqual(controller.activeColor,
|
|
MDCTextInputControllerFullWidth.activeColorDefault)
|
|
XCTAssertEqual(controller.normalColor,
|
|
MDCTextInputControllerFullWidth.normalColorDefault)
|
|
XCTAssertEqual(controller.underlineHeightActive,
|
|
MDCTextInputControllerFullWidth.underlineHeightActiveDefault)
|
|
XCTAssertEqual(controller.underlineHeightNormal,
|
|
MDCTextInputControllerFullWidth.underlineHeightNormalDefault)
|
|
XCTAssertEqual(controller.underlineViewMode,
|
|
MDCTextInputControllerFullWidth.underlineViewModeDefault)
|
|
XCTAssertEqual(controller.leadingUnderlineLabelTextColor,
|
|
MDCTextInputControllerFullWidth.leadingUnderlineLabelTextColorDefault)
|
|
XCTAssertEqual(controller.trailingUnderlineLabelTextColor,
|
|
MDCTextInputControllerFullWidth.trailingUnderlineLabelTextColorDefault)
|
|
|
|
XCTAssertEqual(controller.inlinePlaceholderFont,
|
|
MDCTextInputControllerFullWidth.inlinePlaceholderFontDefault)
|
|
XCTAssertEqual(controller.leadingUnderlineLabelFont,
|
|
MDCTextInputControllerFullWidth.leadingUnderlineLabelFontDefault)
|
|
XCTAssertEqual(controller.trailingUnderlineLabelFont,
|
|
MDCTextInputControllerFullWidth.trailingUnderlineLabelFontDefault)
|
|
}
|
|
|
|
// MARK: - textInputClearButtonTintColor
|
|
|
|
func testFilledTextInputClearButtonTintColorUsesDefault() {
|
|
// Given
|
|
MDCTextInputControllerFilled.textInputClearButtonTintColorDefault = .orange
|
|
|
|
// When
|
|
let textInput = MDCTextField()
|
|
let controllerFilled = MDCTextInputControllerFilled(textInput: textInput)
|
|
|
|
// Then
|
|
XCTAssertEqual(controllerFilled.textInputClearButtonTintColor,
|
|
MDCTextInputControllerFilled.textInputClearButtonTintColorDefault)
|
|
}
|
|
|
|
func testFilledTextInputClearButtonTintColorDefaultAppliesToTextField() {
|
|
// Given
|
|
MDCTextInputControllerFilled.textInputClearButtonTintColorDefault = .orange
|
|
|
|
// When
|
|
let textInputFilled = MDCTextField()
|
|
let _ = MDCTextInputControllerFilled(textInput: textInputFilled)
|
|
|
|
// Then
|
|
XCTAssertEqual(textInputFilled.clearButton.tintColor,
|
|
MDCTextInputControllerFilled.textInputClearButtonTintColorDefault)
|
|
}
|
|
|
|
func testFilledTextInputClearButtonTintColorAppliesToTextField() {
|
|
// Given
|
|
let textInputFilled = MDCTextField()
|
|
let controllerFilled = MDCTextInputControllerFilled(textInput: textInputFilled)
|
|
|
|
// When
|
|
controllerFilled.textInputClearButtonTintColor = .black
|
|
|
|
// Then
|
|
XCTAssertEqual(textInputFilled.clearButton.tintColor,
|
|
controllerFilled.textInputClearButtonTintColor)
|
|
}
|
|
|
|
func testOutlinedTextInputClearButtonTintColorUsesDefault() {
|
|
// Given
|
|
MDCTextInputControllerOutlined.textInputClearButtonTintColorDefault = .cyan
|
|
|
|
// When
|
|
let textInput = MDCTextField()
|
|
let controllerOutlined = MDCTextInputControllerOutlined(textInput: textInput)
|
|
|
|
// Then
|
|
XCTAssertEqual(controllerOutlined.textInputClearButtonTintColor,
|
|
MDCTextInputControllerFilled.textInputClearButtonTintColorDefault)
|
|
}
|
|
|
|
func testOutlinedTextInputClearButtonTintColorDefaultAppliesToTextField() {
|
|
// Given
|
|
MDCTextInputControllerOutlined.textInputClearButtonTintColorDefault = .cyan
|
|
|
|
// When
|
|
let textInputOutlined = MDCTextField()
|
|
let _ = MDCTextInputControllerOutlined(textInput: textInputOutlined)
|
|
|
|
// Then
|
|
XCTAssertEqual(textInputOutlined.clearButton.tintColor,
|
|
MDCTextInputControllerFilled.textInputClearButtonTintColorDefault)
|
|
}
|
|
|
|
func testOutlinedTextInputClearButtonTintColorAppliesToTextField() {
|
|
// Given
|
|
let textInputOutlined = MDCTextField()
|
|
let controllerOutlined = MDCTextInputControllerOutlined(textInput: textInputOutlined)
|
|
|
|
// When
|
|
controllerOutlined.textInputClearButtonTintColor = .red
|
|
|
|
// Then
|
|
XCTAssertEqual(textInputOutlined.clearButton.tintColor,
|
|
controllerOutlined.textInputClearButtonTintColor)
|
|
}
|
|
|
|
func testUnderlineTextInputClearButtonTintColorUsesDefault() {
|
|
// Given
|
|
MDCTextInputControllerUnderline.textInputClearButtonTintColorDefault = .orange
|
|
|
|
// When
|
|
let textInput = MDCTextField()
|
|
let controllerUnderline = MDCTextInputControllerUnderline(textInput: textInput)
|
|
|
|
// Then
|
|
XCTAssertEqual(controllerUnderline.textInputClearButtonTintColor,
|
|
MDCTextInputControllerUnderline.textInputClearButtonTintColorDefault)
|
|
}
|
|
|
|
func testUnderlineTextInputClearButtonTintColorDefaultAppliesToTextField() {
|
|
// Given
|
|
MDCTextInputControllerUnderline.textInputClearButtonTintColorDefault = .orange
|
|
|
|
// When
|
|
let textInputUnderline = MDCTextField()
|
|
let _ = MDCTextInputControllerUnderline(textInput: textInputUnderline)
|
|
|
|
// Then
|
|
XCTAssertEqual(textInputUnderline.clearButton.tintColor,
|
|
MDCTextInputControllerUnderline.textInputClearButtonTintColorDefault)
|
|
}
|
|
|
|
func testUnderlineTextInputClearButtonTintColorAppliesToTextField() {
|
|
// Given
|
|
let textInputUnderline = MDCTextField()
|
|
let controllerUnderline = MDCTextInputControllerUnderline(textInput: textInputUnderline)
|
|
|
|
// When
|
|
controllerUnderline.textInputClearButtonTintColor = .black
|
|
|
|
// Then
|
|
XCTAssertEqual(textInputUnderline.clearButton.tintColor,
|
|
controllerUnderline.textInputClearButtonTintColor)
|
|
}
|
|
|
|
func testFullWidthTextInputClearButtonTintColorUsesDefault() {
|
|
// Given
|
|
MDCTextInputControllerFullWidth.textInputClearButtonTintColorDefault = .orange
|
|
|
|
// When
|
|
let textInput = MDCTextField()
|
|
let controllerFullWidth = MDCTextInputControllerFullWidth(textInput: textInput)
|
|
|
|
// Then
|
|
XCTAssertEqual(controllerFullWidth.textInputClearButtonTintColor,
|
|
MDCTextInputControllerFullWidth.textInputClearButtonTintColorDefault)
|
|
}
|
|
|
|
func testFullWidthTextInputClearButtonTintColorDefaultAppliesToTextField() {
|
|
// Given
|
|
MDCTextInputControllerFullWidth.textInputClearButtonTintColorDefault = .orange
|
|
|
|
// When
|
|
let textInputFullWidth = MDCTextField()
|
|
let _ = MDCTextInputControllerFullWidth(textInput: textInputFullWidth)
|
|
|
|
// Then
|
|
XCTAssertEqual(textInputFullWidth.clearButton.tintColor,
|
|
MDCTextInputControllerFullWidth.textInputClearButtonTintColorDefault)
|
|
}
|
|
|
|
func testFullWidthTextInputClearButtonTintColorAppliesToTextField() {
|
|
// Given
|
|
let textInputFullWidth = MDCTextField()
|
|
let controllerFullWidth = MDCTextInputControllerFullWidth(textInput: textInputFullWidth)
|
|
|
|
// When
|
|
controllerFullWidth.textInputClearButtonTintColor = .black
|
|
|
|
// Then
|
|
XCTAssertEqual(textInputFullWidth.clearButton.tintColor,
|
|
controllerFullWidth.textInputClearButtonTintColor)
|
|
}
|
|
}
|