From 60cbc49a61e2c8c4d70f5cdb1212159ba0971679 Mon Sep 17 00:00:00 2001 From: Tom Baranes Date: Mon, 9 Nov 2020 10:30:36 +0100 Subject: [PATCH 1/2] Update `readyState` to `closed` on url session error --- EventSource/EventSource.swift | 2 +- EventSourceTests/EventSourceTests.swift | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/EventSource/EventSource.swift b/EventSource/EventSource.swift index 8249968..8ceb403 100644 --- a/EventSource/EventSource.swift +++ b/EventSource/EventSource.swift @@ -170,7 +170,7 @@ open class EventSource: NSObject, EventSourceProtocol, URLSessionDataDelegate { open func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) { - + readyState = .closed guard let responseStatusCode = (task.response as? HTTPURLResponse)?.statusCode else { mainQueue.async { [weak self] in self?.onComplete?(nil, nil, error as NSError?) } return diff --git a/EventSourceTests/EventSourceTests.swift b/EventSourceTests/EventSourceTests.swift index ad04bee..b3a093f 100644 --- a/EventSourceTests/EventSourceTests.swift +++ b/EventSourceTests/EventSourceTests.swift @@ -88,6 +88,7 @@ class EventSourceTests: XCTestCase { func testOnCompleteRetryTrue() { let expectation = XCTestExpectation(description: "onComplete gets called") eventSource.onComplete { statusCode, retry, _ in + XCTAssertEqual(self.eventSource.readyState, .closed) XCTAssertEqual(statusCode, 200) XCTAssertEqual(retry, false) expectation.fulfill() @@ -103,6 +104,7 @@ class EventSourceTests: XCTestCase { func testOnCompleteRetryFalse() { let expectation = XCTestExpectation(description: "onComplete gets called") eventSource.onComplete { statusCode, retry, _ in + XCTAssertEqual(self.eventSource.readyState, .closed) XCTAssertEqual(statusCode, 250) XCTAssertEqual(retry, true) expectation.fulfill() @@ -118,6 +120,7 @@ class EventSourceTests: XCTestCase { func testOnCompleteError() { let expectation = XCTestExpectation(description: "onComplete gets called") eventSource.onComplete { statusCode, retry, error in + XCTAssertEqual(self.eventSource.readyState, .closed) XCTAssertNotNil(error) XCTAssertNil(retry) XCTAssertNil(statusCode) From b13a176aa34a733172e8d5b8955e8257ab248b01 Mon Sep 17 00:00:00 2001 From: Tom Baranes Date: Mon, 9 Nov 2020 10:31:27 +0100 Subject: [PATCH 2/2] Bump min iOS version to 9.0 to fix Xcode warning --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 2468390..b98174c 100644 --- a/Package.swift +++ b/Package.swift @@ -5,7 +5,7 @@ import PackageDescription let package = Package( name: "EventSource", platforms: [ - .iOS("8.0"), + .iOS("9.0"), .macOS("10.10"), ], products: [