Files
suixinkan_uikit/suixinkanTests/GlobalLoadingManagerTests.swift
汉秋 39186cfe25 Add Lottie global loading overlay and fix stuck loading states.
Replace per-VC activity indicators with a ref-counted GlobalLoadingManager, and resolve duplicate show/hide calls on Profile, Statistics, and Home tabs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 17:43:13 +08:00

55 lines
1.2 KiB
Swift

//
// GlobalLoadingManagerTests.swift
// suixinkanTests
//
import XCTest
@testable import suixinkan
@MainActor
/// Loading
final class GlobalLoadingManagerTests: XCTestCase {
override func tearDown() {
GlobalLoadingManager.shared.hideAll()
super.tearDown()
}
func testShowAndHideToggleVisibilityState() {
let manager = GlobalLoadingManager.shared
XCTAssertFalse(manager.isShowing)
manager.show()
XCTAssertTrue(manager.isShowing)
manager.hide()
XCTAssertFalse(manager.isShowing)
}
func testNestedShowRequiresMatchingHideCount() {
let manager = GlobalLoadingManager.shared
manager.show()
manager.show()
XCTAssertTrue(manager.isShowing)
manager.hide()
XCTAssertTrue(manager.isShowing)
manager.hide()
XCTAssertFalse(manager.isShowing)
}
func testHideAllResetsNestedCount() {
let manager = GlobalLoadingManager.shared
manager.show()
manager.show()
manager.hideAll()
XCTAssertFalse(manager.isShowing)
manager.hide()
XCTAssertFalse(manager.isShowing)
}
}