From 86bcd9452d3107f68aca085e03e69b02667c0dbb Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Sun, 12 Apr 2026 22:06:16 -0500 Subject: feat: polish read-only project views and home integration Refs: https://todo.sr.ht/~ccleberg/hutch/36 Refs: https://todo.sr.ht/~ccleberg/hutch/37 Refs: https://todo.sr.ht/~ccleberg/hutch/38 --- HutchTests/ProjectPinStoreTests.swift | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'HutchTests/ProjectPinStoreTests.swift') diff --git a/HutchTests/ProjectPinStoreTests.swift b/HutchTests/ProjectPinStoreTests.swift index a4ee0f7..17b4397 100644 --- a/HutchTests/ProjectPinStoreTests.swift +++ b/HutchTests/ProjectPinStoreTests.swift @@ -25,4 +25,17 @@ struct ProjectPinStoreTests { #expect(ProjectPinStore.loadPinnedProjectIDs(for: "~alice", defaults: defaults).isEmpty) } + + @Test + func loadPinnedProjectsNormalizesWhitespaceAndDuplicates() { + let defaults = UserDefaults(suiteName: #function)! + defaults.removePersistentDomain(forName: #function) + + let encoded = try! JSONEncoder().encode([ + "~alice": [" project-1 ", "", "project-1", "project-2"] + ]) + defaults.set(encoded, forKey: AppStorageKeys.pinnedHomeProjects) + + #expect(ProjectPinStore.loadPinnedProjectIDs(for: "~alice", defaults: defaults) == ["project-1", "project-2"]) + } } -- cgit v1.2.3