66 lines · 2.2 KB · Swift
RawDownload
#if os(Linux)import Foundationimport Testing@testable import CodexBarCLI@testable import CodexBarCore struct CursorLinuxTests {    @Test    func `Cursor database path honors absolute XDG config home`() {        let path = CursorAppAuthStore.resolveDefaultDBPath(            home: "/home/test",            environment: ["XDG_CONFIG_HOME": "/custom/config"])        #expect(path == "/custom/config/Cursor/User/globalStorage/state.vscdb")    }     @Test    func `Cursor database path falls back to dot config`() {        let path = CursorAppAuthStore.resolveDefaultDBPath(            home: "/home/test",            environment: [:])        #expect(path == "/home/test/.config/Cursor/User/globalStorage/state.vscdb")    }     @Test    func `Cursor database path rejects relative XDG config home`() {        let path = CursorAppAuthStore.resolveDefaultDBPath(            home: "/home/test",            environment: ["XDG_CONFIG_HOME": "relative/config"])        #expect(path == "/home/test/.config/Cursor/User/globalStorage/state.vscdb")    }     @Test    func `Cursor automatic source does not require macOS web support`() {        #expect(!CodexBarCLI.sourceModeRequiresWebSupport(            .auto,            provider: .cursor,            settings: ProviderSettingsSnapshot.make(                cursor: .init(cookieSource: .auto, manualCookieHeader: nil))))    }     @Test    func `Cursor descriptor accepts explicit web source`() {        #expect(CursorProviderDescriptor.descriptor.fetchPlan.sourceModes.contains(.web))    }     @Test    func `Cursor manual cookie does not require macOS web support`() {        #expect(!CodexBarCLI.sourceModeRequiresWebSupport(            .web,            provider: .cursor,            settings: ProviderSettingsSnapshot.make(                cursor: .init(                    cookieSource: .manual,                    manualCookieHeader: "WorkosCursorSessionToken=test"))))    }     @Test    func `disabled Cursor web source still requires macOS web support`() {        #expect(CodexBarCLI.sourceModeRequiresWebSupport(            .web,            provider: .cursor,            settings: ProviderSettingsSnapshot.make(                cursor: .init(cookieSource: .off, manualCookieHeader: nil))))    }}#endif