完善任务流程、键盘适配与页面交互
This commit is contained in:
@ -3,6 +3,7 @@
|
||||
// suixinkanTests
|
||||
//
|
||||
|
||||
import UIKit
|
||||
import XCTest
|
||||
@testable import suixinkan
|
||||
|
||||
@ -144,3 +145,36 @@ final class AllFunctionsViewModelTests: XCTestCase {
|
||||
XCTAssertEqual(viewModel.commonMenus.map(\.uri), ["location_report", "report_photographer"])
|
||||
}
|
||||
}
|
||||
|
||||
/// 全部功能菜单卡片交互语义测试。
|
||||
@MainActor
|
||||
final class AllFunctionMenuCellTests: XCTestCase {
|
||||
|
||||
func testAddStyleUsesWholeCellAsAccessibleActionWithoutNestedButton() {
|
||||
let cell = AllFunctionMenuCell(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
|
||||
let menu = HomeMenuItem(uri: "wallet", title: "钱包", iconName: "wallet.pass")
|
||||
|
||||
cell.apply(menu: menu, actionStyle: .add)
|
||||
|
||||
XCTAssertTrue(cell.isAccessibilityElement)
|
||||
XCTAssertEqual(cell.accessibilityLabel, "钱包")
|
||||
XCTAssertEqual(cell.accessibilityHint, "添加到常用应用")
|
||||
XCTAssertTrue(cell.accessibilityTraits.contains(.button))
|
||||
XCTAssertFalse(containsButton(in: cell.contentView))
|
||||
}
|
||||
|
||||
func testRemoveStyleDescribesWholeCellRemoveAction() {
|
||||
let cell = AllFunctionMenuCell(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
|
||||
let menu = HomeMenuItem(uri: "wallet", title: "钱包", iconName: "wallet.pass")
|
||||
|
||||
cell.apply(menu: menu, actionStyle: .remove)
|
||||
|
||||
XCTAssertEqual(cell.accessibilityHint, "移出常用应用")
|
||||
XCTAssertTrue(cell.accessibilityTraits.contains(.button))
|
||||
XCTAssertFalse(containsButton(in: cell.contentView))
|
||||
}
|
||||
|
||||
private func containsButton(in view: UIView) -> Bool {
|
||||
view is UIButton || view.subviews.contains(where: containsButton(in:))
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user