@@ -24,19 +24,19 @@ class TestURLSession : XCTestCase {
24
24
//Disabling to avoid https://bugs.swift.org/browse/SR-4677 and a timeout failure
25
25
// ("test_dataTaskWithURL", test_dataTaskWithURL),
26
26
// ("test_dataTaskWithURLRequest", test_dataTaskWithURLRequest),
27
- // ("test_dataTaskWithURLCompletionHandler", test_dataTaskWithURLCompletionHandler),
28
- // ("test_dataTaskWithURLRequestCompletionHandler", test_dataTaskWithURLRequestCompletionHandler),
27
+ ( " test_dataTaskWithURLCompletionHandler " , test_dataTaskWithURLCompletionHandler) ,
28
+ ( " test_dataTaskWithURLRequestCompletionHandler " , test_dataTaskWithURLRequestCompletionHandler) ,
29
29
// ("test_downloadTaskWithURL", test_downloadTaskWithURL),
30
30
// ("test_downloadTaskWithURLRequest", test_downloadTaskWithURLRequest),
31
- // ("test_downloadTaskWithRequestAndHandler", test_downloadTaskWithRequestAndHandler),
32
- // ("test_downloadTaskWithURLAndHandler", test_downloadTaskWithURLAndHandler),
31
+ ( " test_downloadTaskWithRequestAndHandler " , test_downloadTaskWithRequestAndHandler) ,
32
+ ( " test_downloadTaskWithURLAndHandler " , test_downloadTaskWithURLAndHandler) ,
33
33
// ("test_finishTaskAndInvalidate", test_finishTasksAndInvalidate),
34
34
// ("test_taskError", test_taskError),
35
- // ("test_taskCopy", test_taskCopy),
35
+ ( " test_taskCopy " , test_taskCopy) ,
36
36
// ("test_cancelTask", test_cancelTask),
37
37
// ("test_taskTimeout", test_taskTimeout),
38
- // ("test_verifyRequestHeaders", test_verifyRequestHeaders),
39
- // ("test_verifyHttpAdditionalHeaders", test_verifyHttpAdditionalHeaders),
38
+ ( " test_verifyRequestHeaders " , test_verifyRequestHeaders) ,
39
+ ( " test_verifyHttpAdditionalHeaders " , test_verifyHttpAdditionalHeaders) ,
40
40
( " test_timeoutInterval " , test_timeoutInterval) ,
41
41
]
42
42
}
@@ -97,17 +97,14 @@ class TestURLSession : XCTestCase {
97
97
let expect = expectation ( description: " URL test with completion handler " )
98
98
var expectedResult = " unknown "
99
99
let task = session. dataTask ( with: url) { data, response, error in
100
- if let e = error as? URLError {
101
- XCTAssertEqual ( e. code, . timedOut, " Unexpected error code " )
102
- expect. fulfill ( )
103
- return
104
- }
105
-
106
- let httpResponse = response as! HTTPURLResponse ?
107
- XCTAssertEqual ( 200 , httpResponse!. statusCode, " HTTP response code is not 200 " )
108
- expectedResult = String ( data: data!, encoding: String . Encoding. utf8) !
100
+ defer { expect. fulfill ( ) }
101
+ XCTAssertNil ( error as? URLError , " error = \( error as! URLError ) " )
102
+ XCTAssertNotNil ( response)
103
+ XCTAssertNotNil ( data)
104
+ guard let httpResponse = response as? HTTPURLResponse , let data = data else { return }
105
+ XCTAssertEqual ( 200 , httpResponse. statusCode, " HTTP response code is not 200 " )
106
+ expectedResult = String ( data: data, encoding: String . Encoding. utf8) ?? " "
109
107
XCTAssertEqual ( " Washington, D.C. " , expectedResult, " Did not receive expected value " )
110
- expect. fulfill ( )
111
108
}
112
109
task. resume ( )
113
110
waitForExpectations ( timeout: 12 )
@@ -153,16 +150,14 @@ class TestURLSession : XCTestCase {
153
150
let expect = expectation ( description: " URL test with completion handler " )
154
151
var expectedResult = " unknown "
155
152
let task = session. dataTask ( with: urlRequest) { data, response, error in
156
- if let e = error as? URLError {
157
- XCTAssertEqual ( e. code, . timedOut, " Unexpected error code " )
158
- expect. fulfill ( )
159
- return
160
- }
161
- let httpResponse = response as! HTTPURLResponse ?
162
- XCTAssertEqual ( 200 , httpResponse!. statusCode, " HTTP response code is not 200 " )
163
- expectedResult = String ( data: data!, encoding: String . Encoding. utf8) !
153
+ defer { expect. fulfill ( ) }
154
+ XCTAssertNotNil ( data)
155
+ XCTAssertNotNil ( response)
156
+ XCTAssertNil ( error as? URLError , " error = \( error as! URLError ) " )
157
+ guard let httpResponse = response as? HTTPURLResponse , let data = data else { return }
158
+ XCTAssertEqual ( 200 , httpResponse. statusCode, " HTTP response code is not 200 " )
159
+ expectedResult = String ( data: data, encoding: String . Encoding. utf8) ?? " "
164
160
XCTAssertEqual ( " Rome " , expectedResult, " Did not receive expected value " )
165
- expect. fulfill ( )
166
161
}
167
162
task. resume ( )
168
163
waitForExpectations ( timeout: 12 )
@@ -221,9 +216,7 @@ class TestURLSession : XCTestCase {
221
216
let expect = expectation ( description: " download task with handler " )
222
217
let req = URLRequest ( url: URL ( string: " http://127.0.0.1: \( serverPort) /country.txt " ) !)
223
218
let task = session. downloadTask ( with: req) { ( _, _, error) -> Void in
224
- if let e = error as? URLError {
225
- XCTAssertEqual ( e. code, . timedOut, " Unexpected error code " )
226
- }
219
+ XCTAssertNil ( error as? URLError , " error = \( error as! URLError ) " )
227
220
expect. fulfill ( )
228
221
}
229
222
task. resume ( )
@@ -344,7 +337,10 @@ class TestURLSession : XCTestCase {
344
337
req. allHTTPHeaderFields = headers
345
338
var task = session. dataTask ( with: req) { ( data, _, error) -> Void in
346
339
defer { expect. fulfill ( ) }
347
- let headers = String ( data: data!, encoding: String . Encoding. utf8) !
340
+ XCTAssertNotNil ( data)
341
+ XCTAssertNil ( error as? URLError , " error = \( error as! URLError ) " )
342
+ guard let data = data else { return }
343
+ let headers = String ( data: data, encoding: String . Encoding. utf8) ?? " "
348
344
XCTAssertNotNil ( headers. range ( of: " header1: value1 " ) )
349
345
}
350
346
task. resume ( )
@@ -377,7 +373,9 @@ class TestURLSession : XCTestCase {
377
373
req. allHTTPHeaderFields = headers
378
374
var task = session. dataTask ( with: req) { ( data, _, error) -> Void in
379
375
defer { expect. fulfill ( ) }
380
- let headers = String ( data: data!, encoding: String . Encoding. utf8) !
376
+ XCTAssertNotNil ( data)
377
+ XCTAssertNil ( error as? URLError , " error = \( error as! URLError ) " )
378
+ let headers = String ( data: data!, encoding: String . Encoding. utf8) ?? " "
381
379
XCTAssertNotNil ( headers. range ( of: " header1: rvalue1 " ) )
382
380
XCTAssertNotNil ( headers. range ( of: " header2: rvalue2 " ) )
383
381
XCTAssertNotNil ( headers. range ( of: " header3: svalue3 " ) )
@@ -405,7 +403,7 @@ class TestURLSession : XCTestCase {
405
403
let req = URLRequest ( url: URL ( string: " http://127.0.0.1: \( serverPort) /Peru " ) !)
406
404
var task = session. dataTask ( with: req) { ( data, _, error) -> Void in
407
405
defer { expect. fulfill ( ) }
408
- XCTAssertNil ( error)
406
+ XCTAssertNil ( error as? URLError , " error = \( error as! URLError ) " )
409
407
}
410
408
task. resume ( )
411
409
0 commit comments