Fix home navigation bar visibility and hide scan tab title.
Home uses a custom top bar, so TabNavigationController now syncs system nav bar visibility with the stack top; remove the scan tab text label to show icon only. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -35,7 +35,7 @@ final class MainScanTabItemTests: XCTestCase {
|
||||
controller.loadViewIfNeeded()
|
||||
|
||||
let scanItem = try XCTUnwrap(controller.viewControllers?[2].tabBarItem)
|
||||
XCTAssertEqual(scanItem.title, "扫码")
|
||||
XCTAssertNil(scanItem.title)
|
||||
XCTAssertEqual(scanItem.accessibilityIdentifier, "main.scan")
|
||||
XCTAssertEqual(scanItem.accessibilityLabel, "扫码核销")
|
||||
XCTAssertNotNil(scanItem.image)
|
||||
|
||||
@ -27,6 +27,20 @@ final class AppNavigatorTests: XCTestCase {
|
||||
XCTAssertTrue(homeStack.viewControllers.last is PaymentCollectionViewController)
|
||||
}
|
||||
|
||||
/// 测试首页隐藏系统导航栏,push 子页面后显示,返回首页后重新隐藏。
|
||||
func testHomeNavigationBarVisibilityFollowsTopViewController() {
|
||||
let services = AppServices(apiClient: APIClient(session: AppNavigatorRecordingURLSession()))
|
||||
let navigationController = TabNavigationController(tab: .home, services: services)
|
||||
|
||||
XCTAssertTrue(navigationController.isNavigationBarHidden)
|
||||
|
||||
navigationController.push(route: .home(.paymentCollection), animated: false)
|
||||
XCTAssertFalse(navigationController.isNavigationBarHidden)
|
||||
|
||||
navigationController.popToRootViewController(animated: false)
|
||||
XCTAssertTrue(navigationController.isNavigationBarHidden)
|
||||
}
|
||||
|
||||
/// 测试 tabRoot 会切换到指定 Tab、清空旧栈并打开目标页。
|
||||
func testTabRootSelectsTabResetsStackAndPushesRoute() {
|
||||
let services = AppServices(apiClient: APIClient(session: AppNavigatorRecordingURLSession()))
|
||||
|
||||
Reference in New Issue
Block a user