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
755
755
let resumeData = TBD< Data> {
756
756
resolver in
757
757
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) {
763
766
XCTAssertEqual ( error. code, . cancelled)
764
767
resolver. resolve ( value: data)
765
- default :
768
+ }
769
+ catch {
766
770
resolver. resolve ( error: error)
767
771
}
768
772
}
769
773
deferred. timeout ( seconds: 0.5 )
774
+ resolver. retainSource ( deferred)
770
775
}
771
776
#if os(Linux)
777
+ XCTAssertNil ( resumeData. value, " download did not time out " )
772
778
XCTAssertNotNil ( resumeData. error)
773
779
XCTAssert ( URLError . cancelled ~= resumeData. error!)
774
780
#else
775
781
let data = try resumeData. get ( )
782
+ XCTAssertNotEqual ( data, URLSessionResumeTests . largeData, " download did not time out " )
776
783
777
784
let resumed = session. deferredDownloadTask ( withResumeData: data)
778
785
let ( url, response) = resumed. split ( )
You can’t perform that action at this time.
0 commit comments