File tree Expand file tree Collapse file tree 1 file changed +13
-6
lines changed Expand file tree Collapse file tree 1 file changed +13
-6
lines changed Original file line number Diff line number Diff line change @@ -755,24 +755,31 @@ class URLSessionResumeTests: XCTestCase
755755 let resumeData = TBD< Data> {
756756 resolver in
757757 let deferred = session. deferredDownloadTask ( with: URLSessionResumeTests . largeURL)
758- deferred. onError {
759- error in
760- switch error
761- {
762- case URLSessionError . interruptedDownload( let error, let data) :
758+ deferred. notify {
759+ result in
760+ do {
761+ let url = try result. get ( ) . 0
762+ let data = try FileHandle ( forReadingFrom: url) . readDataToEndOfFile ( )
763+ resolver. resolve ( value: data)
764+ }
765+ catch URLSessionError . interruptedDownload( let error, let data) {
763766 XCTAssertEqual ( error. code, . cancelled)
764767 resolver. resolve ( value: data)
765- default :
768+ }
769+ catch {
766770 resolver. resolve ( error: error)
767771 }
768772 }
769773 deferred. timeout ( seconds: 0.5 )
774+ resolver. retainSource ( deferred)
770775 }
771776#if os(Linux)
777+ XCTAssertNil ( resumeData. value, " download did not time out " )
772778 XCTAssertNotNil ( resumeData. error)
773779 XCTAssert ( URLError . cancelled ~= resumeData. error!)
774780#else
775781 let data = try resumeData. get ( )
782+ XCTAssertNotEqual ( data, URLSessionResumeTests . largeData, " download did not time out " )
776783
777784 let resumed = session. deferredDownloadTask ( withResumeData: data)
778785 let ( url, response) = resumed. split ( )
You can’t perform that action at this time.
0 commit comments