@@ -85,31 +85,28 @@ final class UserDefaultTests: XCTestCase {
8585 XCTAssertNil ( userDefaults. object ( forKey: " BoolKey " ) )
8686 }
8787
88- @available ( iOS 13 . 0 , macOS 10 . 15 , tvOS 13 . 0 , watchOS 6 . 0 , * )
8988 func testObserver( ) {
9089 let wrapper = UserDefault < String > ( . init( " StringKey " ) , store: userDefaults, defaultValue: " " )
9190
9291 var changes : [ UserDefaults . Change < String > ] = [ ]
9392 let observer = wrapper. addObserver { changes. append ( $0) }
94- addTeardownBlock ( observer. invalidate)
9593
9694 wrapper. wrappedValue = " One "
9795 wrapper. reset ( )
9896 wrapper. wrappedValue = " Two "
9997 userDefaults. x. set ( " Three " , forKey: . init( " StringKey " ) )
10098
10199 XCTAssertEqual ( changes, [ . initial( " " ) , . update( " One " ) , . update( " " ) , . update( " Two " ) , . update( " Three " ) ] )
100+ observer. invalidate ( )
102101 }
103102
104- @available ( iOS 13 . 0 , macOS 10 . 15 , tvOS 13 . 0 , watchOS 6 . 0 , * )
105103 func testCodableWithDefault( ) {
106104 let key = UserDefaults . Key ( " CodableKey " )
107105 let wrapper = UserDefault < Subject > ( key, strategy: . json, store: userDefaults, defaultValue: Subject ( value: " default " ) )
108106
109107 // Observe changes
110108 var changes : [ Subject ] = [ ]
111109 let token = wrapper. addObserver ( handler: { changes. append ( $0. value) } )
112- addTeardownBlock ( token. invalidate)
113110
114111 // Uses default
115112 XCTAssertNil ( userDefaults. object ( forKey: key. rawValue) )
@@ -135,17 +132,16 @@ final class UserDefaultTests: XCTestCase {
135132 " default " ,
136133 " default "
137134 ] )
135+ token. invalidate ( )
138136 }
139137
140- @available ( iOS 13 . 0 , macOS 10 . 15 , tvOS 13 . 0 , watchOS 6 . 0 , * )
141138 func testCodable( ) {
142139 let key = UserDefaults . Key ( " CodableKey " )
143140 let wrapper = UserDefault < Subject ? > ( key, strategy: . json, store: userDefaults)
144141
145142 // Observe changes
146143 var changes : [ Subject ? ] = [ ]
147144 let token = wrapper. addObserver ( handler: { changes. append ( $0. value) } )
148- addTeardownBlock ( token. invalidate)
149145
150146 // nil when unset
151147 XCTAssertNil ( userDefaults. object ( forKey: key. rawValue) )
@@ -178,17 +174,16 @@ final class UserDefaultTests: XCTestCase {
178174 " value " ,
179175 nil
180176 ] )
177+ token. invalidate ( )
181178 }
182179
183- @available ( iOS 13 . 0 , macOS 10 . 15 , tvOS 13 . 0 , watchOS 6 . 0 , * )
184180 func testRawRepresentableWithDefault( ) {
185181 let key = UserDefaults . Key ( " RawRepresentableKey " )
186182 let wrapper = UserDefault < RawSubject > ( key, store: userDefaults, defaultValue: . foo)
187183
188184 // Observe changes
189185 var changes : [ RawSubject ] = [ ]
190186 let token = wrapper. addObserver ( handler: { changes. append ( $0. value) } )
191- addTeardownBlock ( token. invalidate)
192187
193188 // Uses default
194189 XCTAssertNil ( userDefaults. object ( forKey: key. rawValue) )
@@ -214,17 +209,16 @@ final class UserDefaultTests: XCTestCase {
214209 . foo,
215210 . foo
216211 ] )
212+ token. invalidate ( )
217213 }
218214
219- @available ( iOS 13 . 0 , macOS 10 . 15 , tvOS 13 . 0 , watchOS 6 . 0 , * )
220215 func testRawRepresentable( ) {
221216 let key = UserDefaults . Key ( " RawRepresentableKey " )
222217 let wrapper = UserDefault < RawSubject ? > ( key, store: userDefaults)
223218
224219 // Observe changes
225220 var changes : [ RawSubject ? ] = [ ]
226221 let token = wrapper. addObserver ( handler: { changes. append ( $0. value) } )
227- addTeardownBlock ( token. invalidate)
228222
229223 // Uses default
230224 XCTAssertNil ( userDefaults. object ( forKey: key. rawValue) )
@@ -256,5 +250,6 @@ final class UserDefaultTests: XCTestCase {
256250 nil ,
257251 . baz
258252 ] )
253+ token. invalidate ( )
259254 }
260255}
0 commit comments