@@ -179,6 +179,15 @@ final class DependencyValuesTests: XCTestCase {
179
179
XCTAssertEqual ( childDependencyLateBindingEscaped. fetch ( ) , 1_000 )
180
180
}
181
181
}
182
+
183
+ func testNestedDependencyIsOverridden( ) {
184
+ DependencyValues . withValue ( \. nestedValue. value, 10 ) {
185
+ @Dependency ( \. nestedValue) var nestedValue : NestedValue
186
+ @Dependency ( \. nestedValue. value) var value : Int
187
+ XCTAssertEqual ( nestedValue. value, 10 )
188
+ XCTAssertEqual ( value, 10 )
189
+ }
190
+ }
182
191
}
183
192
184
193
struct SomeDependency : TestDependencyKey {
@@ -201,6 +210,11 @@ struct ChildDependencyLateBinding: TestDependencyKey {
201
210
}
202
211
}
203
212
}
213
+ struct NestedValue : TestDependencyKey {
214
+ static var testValue : Self { . init( ) }
215
+ var value : Int = 0
216
+ }
217
+
204
218
extension DependencyValues {
205
219
var someDependency : SomeDependency {
206
220
get { self [ SomeDependency . self] }
@@ -214,6 +228,10 @@ extension DependencyValues {
214
228
get { self [ ChildDependencyLateBinding . self] }
215
229
set { self [ ChildDependencyLateBinding . self] = newValue }
216
230
}
231
+ var nestedValue : NestedValue {
232
+ get { self [ NestedValue . self] }
233
+ set { self [ NestedValue . self] = newValue }
234
+ }
217
235
}
218
236
219
237
private let someDate = Date ( timeIntervalSince1970: 1_234_567_890 )
0 commit comments