diff --git a/Sources/General/KingfisherManager.swift b/Sources/General/KingfisherManager.swift index ae98717cd..f4027c494 100644 --- a/Sources/General/KingfisherManager.swift +++ b/Sources/General/KingfisherManager.swift @@ -589,6 +589,11 @@ struct RetrievingContext { let originalSource: Source var propagationErrors: [PropagationError] = [] + init(options: KingfisherParsedOptionsInfo, originalSource: Source) { + self.originalSource = originalSource + self.options = options + } + mutating func popAlternativeSource() -> Source? { guard var alternativeSources = options.alternativeSources, !alternativeSources.isEmpty else { return nil diff --git a/Tests/KingfisherTests/KingfisherManagerTests.swift b/Tests/KingfisherTests/KingfisherManagerTests.swift index eb372c068..d59710f23 100644 --- a/Tests/KingfisherTests/KingfisherManagerTests.swift +++ b/Tests/KingfisherTests/KingfisherManagerTests.swift @@ -700,7 +700,7 @@ class KingfisherManagerTests: XCTestCase { ] let info = KingfisherParsedOptionsInfo([.alternativeSources(allSources)]) var context = RetrievingContext( - options: info, originalSource: .network(URL(string: "0")!), propagationErrors: []) + options: info, originalSource: .network(URL(string: "0")!)) let source1 = context.popAlternativeSource() XCTAssertNotNil(source1)