Files
steipete--codexbar/TestsLinux/CLITerminalCapabilitiesTests.swift
2026-07-13 12:22:33 +08:00

50 lines
1.9 KiB
Swift

import Foundation
import Testing
@testable import CodexBarCLI
struct CLITerminalCapabilitiesTests {
@Test
func `detects kitty graphics backend`() {
let env = ["KITTY_WINDOW_ID": "1", "TERM": "xterm-kitty"]
#expect(CLITerminalCapabilities.detect(environment: env) == .kittyGraphics)
#expect(CLITerminalCapabilities.supportsEnhancedCards(useColor: true, environment: env))
}
@Test
func `detects ghostty backend`() {
let env = ["GHOSTTY_RESOURCES_DIR": "/usr/share/ghostty", "TERM": "xterm-ghostty"]
#expect(CLITerminalCapabilities.detect(environment: env) == .kittyGraphics)
}
@Test
func `detects truecolor without graphics env`() {
let env = ["COLORTERM": "truecolor", "TERM": "alacritty"]
#expect(CLITerminalCapabilities.detect(environment: env) == .truecolor)
}
@Test
func `respects forced enhanced env override`() {
let env = ["TERM": "dumb", "CODEXBAR_CARDS_ENHANCED": "1"]
#expect(CLITerminalCapabilities.supportsEnhancedCards(useColor: true, environment: env))
}
@Test
func `defaults cards to standard on plain ansi terminals`() {
let env = ["TERM": "xterm-256color"]
#expect(!CLITerminalCapabilities.supportsEnhancedCards(useColor: true, environment: env))
#expect(!CLITerminalCapabilities.supportsEnhancedCards(useColor: false, environment: env))
}
@Test
func `defaults cards to enhanced on truecolor terminals`() {
let env = ["TERM": "xterm-256color", "COLORTERM": "truecolor"]
#expect(CLITerminalCapabilities.supportsEnhancedCards(useColor: true, environment: env))
}
@Test
func `respects forced enhanced opt out`() {
let env = ["TERM": "xterm-256color", "CODEXBAR_CARDS_ENHANCED": "0"]
#expect(!CLITerminalCapabilities.supportsEnhancedCards(useColor: true, environment: env))
}
}