WIP: add empty color-coded collections
This commit is contained in:
@@ -25,4 +25,28 @@ final class SettingsModelTests: XCTestCase {
|
||||
let restored = SettingsModel(defaults: defaults)
|
||||
XCTAssertTrue(restored.showDockIcon)
|
||||
}
|
||||
|
||||
func testCustomCollectionsPersistWithNormalizedColors() {
|
||||
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) }
|
||||
|
||||
settings.ensureCollection(named: " Research Stack ", colorHex: "0a9eb8")
|
||||
settings.ensureCollection(named: "research stack", colorHex: "#FF3355")
|
||||
settings.ensureCollection(named: "Client Work", colorHex: "not-a-color")
|
||||
|
||||
XCTAssertEqual(settings.customCollectionNames, ["Research Stack", "Client Work"])
|
||||
XCTAssertEqual(settings.collectionColorHex(forCollectionNamed: "research stack"), "#FF3355")
|
||||
XCTAssertNil(settings.collectionColorHex(forCollectionNamed: "Client Work"))
|
||||
XCTAssertEqual(changes, [.collections, .collections, .collections])
|
||||
|
||||
let restored = SettingsModel(defaults: defaults)
|
||||
XCTAssertEqual(restored.customCollectionNames, ["Research Stack", "Client Work"])
|
||||
XCTAssertEqual(restored.collectionColorHex(forCollectionNamed: "Research Stack"), "#FF3355")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user