From b9022fcab60194a529982c3e4edb356a80bb2499 Mon Sep 17 00:00:00 2001 From: Abhishek Banthia <8280282+n0shake@users.noreply.github.com> Date: Wed, 20 Apr 2022 08:56:04 -0400 Subject: [PATCH] Quick UT. --- .../ClockerUnitTests/ClockerUnitTests.swift | 11 ++++++++ Clocker/Overall App/AppDefaults.swift | 25 ++++--------------- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/Clocker/ClockerUnitTests/ClockerUnitTests.swift b/Clocker/ClockerUnitTests/ClockerUnitTests.swift index f433f0a..ad596c2 100644 --- a/Clocker/ClockerUnitTests/ClockerUnitTests.swift +++ b/Clocker/ClockerUnitTests/ClockerUnitTests.swift @@ -430,4 +430,15 @@ class ClockerUnitTests: XCTestCase { XCTAssertEqual(subject.subviews.count, 2) // Two textfields XCTAssertEqual(subject.subviews.first?.layer?.animationKeys(), ["notimezone.emoji"]) } + + func testDefaultsWiping() { + let defaultsDict: [String: Any] = ["test1" : "testString", "test2": 24] + let domainName = "com.test.clocker" + let defaults = UserDefaults(suiteName: domainName) + defaults?.setPersistentDomain(defaultsDict, forName: domainName) + defaults?.wipe(for: domainName) + XCTAssertNil(defaults?.object(forKey: "test1")) + XCTAssertNil(defaults?.object(forKey: "test2")) + } + } diff --git a/Clocker/Overall App/AppDefaults.swift b/Clocker/Overall App/AppDefaults.swift index 3f1d502..33dc0b0 100644 --- a/Clocker/Overall App/AppDefaults.swift +++ b/Clocker/Overall App/AppDefaults.swift @@ -15,9 +15,6 @@ class AppDefaults { let timezones = dataStore.timezones() let selectedCalendars = userDefaults.object(forKey: CLSelectedCalendars) - // Now delete the old preferences - userDefaults.wipeIfNeccesary() - // Register the usual suspects userDefaults.register(defaults: defaultsDictionary()) @@ -25,13 +22,11 @@ class AppDefaults { userDefaults.set(selectedCalendars, forKey: CLSelectedCalendars) // Set the theme default as Light! - setDefaultTheme() + setDefaultTheme(userDefaults) } - private class func setDefaultTheme() { - let defaults = UserDefaults.standard - - if defaults.object(forKey: CLThemeKey) == nil { + private class func setDefaultTheme(_ userDefaults: UserDefaults) { + if userDefaults.object(forKey: CLThemeKey) == nil { Themer.shared().set(theme: 0) } } @@ -67,17 +62,7 @@ extension String { extension UserDefaults { // Use this with caution. Exposing this for debugging purposes only. - func wipe() { - if let bundleID = Bundle.main.bundleIdentifier { - removePersistentDomain(forName: bundleID) - } - } - - func wipeIfNeccesary() { - if object(forKey: "PreferencesHaveBeenWiped") == nil { - Logger.info("Wiping all user defaults") - wipe() - set(true, forKey: "PreferencesHaveBeenWiped") - } + func wipe(for bundleID: String) { + removePersistentDomain(forName: bundleID) } }