WIP: add Dock visibility setting

This commit is contained in:
Akshay Kolli
2026-06-30 02:25:52 -07:00
parent 3c4e4741d6
commit 3b6af36d18
6 changed files with 152 additions and 5 deletions

View File

@@ -0,0 +1,28 @@
import XCTest
@testable import ClipBored
final class SettingsModelTests: XCTestCase {
func testShowDockIconPersistsAndNotifies() {
let suiteName = "com.clipbored.settingsmodel.\(UUID().uuidString)"
let defaults = UserDefaults(suiteName: suiteName)!
defer {
defaults.removePersistentDomain(forName: suiteName)
}
let settings = SettingsModel(defaults: defaults)
var changes: [SettingsModel.Change] = []
settings.observe { changes.append($0) }
XCTAssertFalse(settings.showDockIcon)
settings.showDockIcon = true
XCTAssertTrue(defaults.bool(forKey: SettingsModel.Keys.showDockIcon))
XCTAssertEqual(changes.count, 1)
guard case .showDockIcon = changes.first else {
return XCTFail("Expected showDockIcon change notification")
}
let restored = SettingsModel(defaults: defaults)
XCTAssertTrue(restored.showDockIcon)
}
}