File system cleanup

This commit is contained in:
2026-03-13 21:26:06 +11:00
parent 8ecb7d4382
commit cf3dba8fe4
83 changed files with 231 additions and 3 deletions

View File

@@ -0,0 +1,67 @@
import XCTest
@testable import CommandNotch
@MainActor
final class ScreenContextTests: XCTestCase {
func testInteractiveResizeDefersPersistingSettingsUntilResizeEnds() {
let store = ScreenContextTestSettingsStore()
var settings = AppSettings.default
settings.display.openWidth = 640
settings.display.openHeight = 350
store.storedSettings = settings
let controller = AppSettingsController(store: store)
let screen = ScreenContext(
id: "screen-a",
workspaceID: UUID(),
settingsController: controller,
screenProvider: { _ in nil }
)
screen.open()
screen.beginInteractiveResize()
screen.resizeOpenNotch(to: CGSize(width: 800, height: 420))
XCTAssertEqual(screen.notchSize.width, 800)
XCTAssertEqual(screen.notchSize.height, 420)
XCTAssertEqual(controller.settings.display.openWidth, 640)
XCTAssertEqual(controller.settings.display.openHeight, 350)
screen.endInteractiveResize()
XCTAssertEqual(controller.settings.display.openWidth, 800)
XCTAssertEqual(controller.settings.display.openHeight, 420)
XCTAssertEqual(store.storedSettings.display.openWidth, 800)
XCTAssertEqual(store.storedSettings.display.openHeight, 420)
}
func testFocusLossAutoCloseSuppressionCanBeToggled() {
let controller = AppSettingsController(store: ScreenContextTestSettingsStore())
let screen = ScreenContext(
id: "screen-a",
workspaceID: UUID(),
settingsController: controller,
screenProvider: { _ in nil }
)
XCTAssertFalse(screen.suppressCloseOnFocusLoss)
screen.setCloseOnFocusLossSuppressed(true)
XCTAssertTrue(screen.suppressCloseOnFocusLoss)
screen.setCloseOnFocusLossSuppressed(false)
XCTAssertFalse(screen.suppressCloseOnFocusLoss)
}
}
private final class ScreenContextTestSettingsStore: AppSettingsStoreType {
var storedSettings = AppSettings.default
func load() -> AppSettings {
storedSettings
}
func save(_ settings: AppSettings) {
storedSettings = settings
}
}