Ariver
2026-06-29 5816f189ed5fb0bb8bedef8200cee198164fcce2
C1.source/Tests/AlignerCoreTests/AlignerCoreTests.swift
@@ -6,7 +6,7 @@
    func testAppIdentity() {
        XCTAssertEqual(AlignerAppInfo.name, "Aligner")
        XCTAssertEqual(AlignerAppInfo.bundleIdentifier, "com.ar.Aligner")
        XCTAssertEqual(AlignerAppInfo.minimumMacOSVersion, "26.0")
        XCTAssertEqual(AlignerAppInfo.minimumMacOSVersion, "14.0")
    }
    func testRound0OnlyDefinesQuickSwitchEntryPoint() {
@@ -171,6 +171,33 @@
                subroleDescription: "standard"
            )
        )
    }
    func testWindowEnumerationPolicyRejectsLowConfidenceAXOnlyRegularWindows() {
        XCTAssertFalse(WindowEnumerationPolicy.shouldIncludeAXOnlyRecord(
            identifierSource: .cgWindow,
            isMinimized: false,
            isFullscreen: false,
            spaceIDs: []
        ))
        XCTAssertTrue(WindowEnumerationPolicy.shouldIncludeAXOnlyRecord(
            identifierSource: .cgWindow,
            isMinimized: true,
            isFullscreen: false,
            spaceIDs: []
        ))
        XCTAssertTrue(WindowEnumerationPolicy.shouldIncludeAXOnlyRecord(
            identifierSource: .cgWindow,
            isMinimized: false,
            isFullscreen: true,
            spaceIDs: [42]
        ))
        XCTAssertFalse(WindowEnumerationPolicy.shouldIncludeAXOnlyRecord(
            identifierSource: .syntheticAX,
            isMinimized: false,
            isFullscreen: false,
            spaceIDs: []
        ))
    }
    func testMinimizedWindowFallbackPolicyAvoidsOccupiedSyntheticIDCollisions() {
@@ -533,6 +560,58 @@
        XCTAssertTrue(attributed[1].isFullscreen)
    }
    func testFinderTabSpaceAttributionRejectsContainingHostsWithDifferentSize() {
        let finderApp = AlignerApp(
            bundleIdentifier: "com.apple.finder",
            name: "访达",
            category: .finder,
            processIdentifier: 74678
        )
        let splitRightFrame = CGRect(x: 960, y: 0, width: 960, height: 1080)
        let fullDisplayFrame = CGRect(x: 0, y: 0, width: 1920, height: 1080)
        let splitHost = WindowEnumerationRecord(
            id: 33112,
            app: finderApp,
            title: "下载",
            size: splitRightFrame.size,
            frame: splitRightFrame,
            subrole: .standard,
            isFullscreen: true,
            hasAXBacking: true,
            spaceIDs: [843]
        )
        let containingHost = WindowEnumerationRecord(
            id: 41557,
            app: finderApp,
            title: "应用程序",
            size: fullDisplayFrame.size,
            frame: fullDisplayFrame,
            subrole: .standard,
            isFullscreen: true,
            hasAXBacking: true,
            spaceIDs: [1112]
        )
        let inactiveTab = WindowEnumerationRecord(
            id: 42286,
            app: finderApp,
            title: "Appcache",
            size: splitRightFrame.size,
            frame: splitRightFrame,
            subrole: .standard,
            hasAXBacking: false,
            isOnscreen: false
        )
        let attributed = FinderTabSpaceAttributionPolicy.attributedRecords([
            inactiveTab,
            containingHost,
            splitHost
        ])
        XCTAssertEqual(attributed[0].spaceIDs, [843])
        XCTAssertTrue(attributed[0].isFullscreen)
    }
    func testWindowEnumerationPolicyKeepsMinimizedAndFullscreenCGOnlyOffscreenWindows() {
        let minimized = makeWindowRecord(
            title: "Minimized Document.md",
@@ -655,6 +734,13 @@
        XCTAssertTrue(templates.allSatisfy { $0.contentRows > 0 })
    }
    func testSkeletonThumbnailPaletteStaysQuietForFallbackState() {
        XCTAssertLessThanOrEqual(SkeletonThumbnailPalette.headerAlpha, 0.10)
        XCTAssertLessThanOrEqual(SkeletonThumbnailPalette.contentRowAlpha, 0.08)
        XCTAssertLessThanOrEqual(SkeletonThumbnailPalette.accentStripeAlpha, 0.30)
        XCTAssertGreaterThanOrEqual(SkeletonThumbnailPalette.titleBandAlpha, 0.80)
    }
    @MainActor
    func testNativeSkeletonThumbnailProviderProducesValidImages() {
        let provider = NativeSkeletonThumbnailProvider()