@@ -65,6 +65,12 @@ extension PropertyList {
65
65
static func swiftUI_value< T > ( as _: T. Type , from element: Element) -> T
66
66
}
67
67
68
+ private struct DerivedIntPlus2Key : DerivedPropertyKey {
69
+ static func value( in plist: PropertyList ) -> Int {
70
+ plist [ swiftUI: IntKey . self] + 2
71
+ }
72
+ }
73
+
68
74
struct PropertyListTests {
69
75
@Test
70
76
func override( ) {
@@ -258,7 +264,6 @@ struct PropertyListTrackerTests {
258
264
#expect( tracker. swiftUI_hasDifferentUsedValues ( newPlist) )
259
265
260
266
tracker. swiftUI_invalidateValue ( for: IntKey . self, from: plist, to: newPlist)
261
-
262
267
#expect( tracker. swiftUI_value ( newPlist, for: IntKey . self) == 100 )
263
268
#expect( tracker. swiftUI_derivedValue ( newPlist, for: DerivedIntPlus2Key . self) == 102 )
264
269
#expect( tracker. swiftUI_value ( newPlist, for: StringKey . self) == " original " )
@@ -290,9 +295,9 @@ struct PropertyListTrackerTests {
290
295
291
296
tracker. swiftUI_invalidateAllValues ( from: plist, to: newPlist)
292
297
#expect( tracker. swiftUI_value ( newPlist, for: IntKey . self) == 100 )
293
- #expect( tracker. swiftUI_derivedValue ( plist , for: DerivedIntPlus2Key . self) == 102 )
298
+ #expect( tracker. swiftUI_derivedValue ( newPlist , for: DerivedIntPlus2Key . self) == 102 )
294
299
#expect( tracker. swiftUI_value ( newPlist, for: StringKey . self) == " modified " )
295
- #expect( tracker. swiftUI_valueWithSecondaryLookup ( plist , secondaryLookupHandler: StringFromIntLookup . self) == " 200 " )
300
+ #expect( tracker. swiftUI_valueWithSecondaryLookup ( newPlist , secondaryLookupHandler: StringFromIntLookup . self) == " 200 " )
296
301
}
297
302
298
303
@Test
0 commit comments