File tree Expand file tree Collapse file tree 1 file changed +24
-2
lines changed
WooCommerce/WooCommerceTests/Tools Expand file tree Collapse file tree 1 file changed +24
-2
lines changed Original file line number Diff line number Diff line change @@ -8,9 +8,9 @@ struct BackgroundTaskScheduleTests {
88 private let timeProvider : MockTimeProvider
99
1010 init ( ) {
11- let userDefaults = UserDefaults ( suiteName: #file) !
12- userDefaults. removePersistentDomain ( forName: #file)
1311 timeProvider = MockTimeProvider ( )
12+ let userDefaults = InMemoryUserDefaults ( )
13+
1414 sut = BackgroundTaskSchedule ( timeProvider: timeProvider, userDefaults: userDefaults)
1515 }
1616
@@ -222,3 +222,25 @@ private class MockTimeProvider: TimeProvider {
222222 fatalError ( " not implemented " )
223223 }
224224}
225+
226+ /// In-memory UserDefaults that doesn't persist to disk
227+ /// Each instance has its own isolated storage
228+ private class InMemoryUserDefaults : UserDefaults {
229+ private var storage : [ String : Any ] = [ : ]
230+
231+ override func set( _ value: Any ? , forKey defaultName: String ) {
232+ storage [ defaultName] = value
233+ }
234+
235+ override func data( forKey defaultName: String ) -> Data ? {
236+ storage [ defaultName] as? Data
237+ }
238+
239+ override func object( forKey defaultName: String ) -> Any ? {
240+ storage [ defaultName]
241+ }
242+
243+ override func removeObject( forKey defaultName: String ) {
244+ storage. removeValue ( forKey: defaultName)
245+ }
246+ }
You can’t perform that action at this time.
0 commit comments