diff --git a/.swift-version b/.swift-version index 5186d07..4d54dad 100644 --- a/.swift-version +++ b/.swift-version @@ -1 +1 @@ -4.0 +4.0.2 diff --git a/Source/SocketIO/Manager/SocketManager.swift b/Source/SocketIO/Manager/SocketManager.swift index 95e56e7..8a4bca6 100644 --- a/Source/SocketIO/Manager/SocketManager.swift +++ b/Source/SocketIO/Manager/SocketManager.swift @@ -46,7 +46,7 @@ import Foundation open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDataBufferable, ConfigSettable { private static let logType = "SocketManager" - // MARK Properties + // MARK: Properties /// The socket associated with the default namespace ("/"). public var defaultSocket: SocketIOClient { @@ -125,6 +125,8 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa private var currentReconnectAttempt = 0 private var reconnecting = false + // MARK: Initializers + /// Type safe way to create a new SocketIOClient. `opts` can be omitted. /// /// - parameter socketURL: The url of the socket.io server. @@ -461,6 +463,8 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa switch option { case let .forceNew(new): self.forceNew = new + case let .handleQueue(queue): + self.handleQueue = queue case let .reconnects(reconnects): self.reconnects = reconnects case let .reconnectWait(wait): diff --git a/Tests/TestSocketIO/SocketMangerTest.swift b/Tests/TestSocketIO/SocketMangerTest.swift index 1e37f98..a82fe2e 100644 --- a/Tests/TestSocketIO/SocketMangerTest.swift +++ b/Tests/TestSocketIO/SocketMangerTest.swift @@ -72,6 +72,22 @@ class SocketMangerTest : XCTestCase { waitForExpectations(timeout: 0.3) } + func testManagerSetsConfigs() { + let queue = DispatchQueue(label: "testQueue") + + manager = TestManager(socketURL: URL(string: "http://localhost/")!, config: [ + .handleQueue(queue), + .forceNew(true), + .reconnects(false), + .reconnectWait(5) + ]) + + XCTAssertEqual(manager.handleQueue, queue) + XCTAssertTrue(manager.forceNew) + XCTAssertFalse(manager.reconnects) + XCTAssertEqual(manager.reconnectWait, 5) + } + private func setUpSockets() { socket = manager.testSocket(forNamespace: "/") socket2 = manager.testSocket(forNamespace: "/swift")