Skip to content

Commit 0da96e6

Browse files
Address review feedback: add Logger.warn and test for invalid SelectedTab fallback
1 parent fb5273a commit 0da96e6

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

OBAKitCore/Models/UserData/UserDataStore.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -664,7 +664,11 @@ public class UserDefaultsStore: NSObject, UserDataStore, StopPreferencesStore {
664664
return .map
665665
}
666666
let raw = userDefaults.integer(forKey: UserDefaultsKeys.lastSelectedView)
667-
return SelectedTab(rawValue: raw) ?? .map
667+
guard let tab = SelectedTab(rawValue: raw) else {
668+
Logger.warn("Invalid SelectedTab raw value \(raw) in UserDefaults. Falling back to .map.")
669+
return .map
670+
}
671+
return tab
668672
}
669673
set {
670674
userDefaults.set(newValue.rawValue, forKey: UserDefaultsKeys.lastSelectedView)

OBAKitTests/Modeling/UserData/UserDataStoreTests.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,11 @@ class UserDefaultsStoreTests: OBATestCase {
159159
expect(self.userDefaultsStore.lastSelectedView) == SelectedTab.bookmarks
160160
}
161161

162+
func test_selectedTabIndex_invalidRawValueFallsBackToMap() {
163+
userDefaults.set(999, forKey: "UserDataStore.lastSelectedView")
164+
expect(self.userDefaultsStore.lastSelectedView) == SelectedTab.map
165+
}
166+
162167
// MARK: - Debug Mode
163168

164169
func test_debugMode_defaultValue() {

0 commit comments

Comments
 (0)