完善首页权限申请流程与队列播报体验。
对齐 Android 无权限强制弹窗、角色下拉与申请页交互,补充 UIButton configuration 适配,并增强景区排队 TTS 与相关单元测试。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
71
suixinkanTests/UIButtonConfigurationTests.swift
Normal file
71
suixinkanTests/UIButtonConfigurationTests.swift
Normal file
@ -0,0 +1,71 @@
|
||||
//
|
||||
// UIButtonConfigurationTests.swift
|
||||
// suixinkanTests
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import XCTest
|
||||
@testable import suixinkan
|
||||
|
||||
/// `UIButton` configuration 内容边距辅助方法测试。
|
||||
@MainActor
|
||||
final class UIButtonConfigurationTests: XCTestCase {
|
||||
|
||||
func testContentInsetsCreatePlainConfiguration() {
|
||||
let button = UIButton(type: .system)
|
||||
|
||||
button.setConfigurationContentInsets(
|
||||
NSDirectionalEdgeInsets(top: 2, leading: 4, bottom: 6, trailing: 8)
|
||||
)
|
||||
|
||||
let contentInsets = button.configuration?.contentInsets
|
||||
XCTAssertEqual(contentInsets?.top, 2)
|
||||
XCTAssertEqual(contentInsets?.leading, 4)
|
||||
XCTAssertEqual(contentInsets?.bottom, 6)
|
||||
XCTAssertEqual(contentInsets?.trailing, 8)
|
||||
}
|
||||
|
||||
func testContentInsetsPreserveExistingConfiguration() {
|
||||
let image = UIImage(systemName: "star.fill")
|
||||
var configuration = UIButton.Configuration.filled()
|
||||
configuration.title = "保留标题"
|
||||
configuration.image = image
|
||||
configuration.imagePlacement = .trailing
|
||||
configuration.imagePadding = 7
|
||||
configuration.baseForegroundColor = .red
|
||||
let button = UIButton(configuration: configuration)
|
||||
|
||||
button.setConfigurationContentInsets(
|
||||
NSDirectionalEdgeInsets(top: 1, leading: 3, bottom: 5, trailing: 9)
|
||||
)
|
||||
|
||||
XCTAssertEqual(button.configuration?.title, "保留标题")
|
||||
XCTAssertEqual(button.configuration?.image, image)
|
||||
XCTAssertEqual(button.configuration?.imagePlacement, .trailing)
|
||||
XCTAssertEqual(button.configuration?.imagePadding, 7)
|
||||
XCTAssertEqual(button.configuration?.baseForegroundColor, .red)
|
||||
XCTAssertEqual(button.configuration?.contentInsets.leading, 3)
|
||||
XCTAssertEqual(button.configuration?.contentInsets.trailing, 9)
|
||||
}
|
||||
|
||||
func testContentInsetsPreserveLegacyButtonContentAndAllowUpdates() {
|
||||
let image = UIImage(systemName: "star")
|
||||
let button = UIButton(type: .system)
|
||||
button.setTitle("原始标题", for: .normal)
|
||||
button.setTitleColor(.blue, for: .normal)
|
||||
button.setImage(image, for: .normal)
|
||||
|
||||
button.setConfigurationContentInsets(
|
||||
NSDirectionalEdgeInsets(top: 2, leading: 4, bottom: 2, trailing: 4)
|
||||
)
|
||||
|
||||
XCTAssertEqual(button.currentTitle, "原始标题")
|
||||
XCTAssertEqual(button.currentTitleColor, .blue)
|
||||
XCTAssertEqual(button.currentImage, image)
|
||||
|
||||
button.setTitle("更新标题", for: .normal)
|
||||
button.setTitleColor(.red, for: .normal)
|
||||
XCTAssertEqual(button.currentTitle, "更新标题")
|
||||
XCTAssertEqual(button.currentTitleColor, .red)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user