File system cleanup
This commit is contained in:
67
CommandNotch/CommandNotchTests/ScreenContextTests.swift
Normal file
67
CommandNotch/CommandNotchTests/ScreenContextTests.swift
Normal 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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user