Add off for client events. Fixes #773
This commit is contained in:
parent
0e5ffce862
commit
6d7ca472a3
@ -85,13 +85,21 @@ class SocketSideEffectTest: XCTestCase {
|
|||||||
|
|
||||||
func testOffWithEvent() {
|
func testOffWithEvent() {
|
||||||
socket.on("test") {data, ack in }
|
socket.on("test") {data, ack in }
|
||||||
XCTAssertEqual(socket.testHandlers.count, 1)
|
|
||||||
socket.on("test") {data, ack in }
|
socket.on("test") {data, ack in }
|
||||||
XCTAssertEqual(socket.testHandlers.count, 2)
|
XCTAssertEqual(socket.testHandlers.count, 2)
|
||||||
socket.off("test")
|
socket.off("test")
|
||||||
XCTAssertEqual(socket.testHandlers.count, 0)
|
XCTAssertEqual(socket.testHandlers.count, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func testOffClientEvent() {
|
||||||
|
socket.on(clientEvent: .connect) {data, ack in }
|
||||||
|
socket.on(clientEvent: .disconnect) {data, ack in }
|
||||||
|
XCTAssertEqual(socket.testHandlers.count, 2)
|
||||||
|
socket.off(clientEvent: .disconnect)
|
||||||
|
XCTAssertEqual(socket.testHandlers.count, 1)
|
||||||
|
XCTAssertTrue(socket.testHandlers.contains(where: { $0.event == "connect" }))
|
||||||
|
}
|
||||||
|
|
||||||
func testOffWithId() {
|
func testOffWithId() {
|
||||||
let handler = socket.on("test") {data, ack in }
|
let handler = socket.on("test") {data, ack in }
|
||||||
XCTAssertEqual(socket.testHandlers.count, 1)
|
XCTAssertEqual(socket.testHandlers.count, 1)
|
||||||
|
|||||||
@ -439,6 +439,15 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Removes handler(s) for a client event.
|
||||||
|
///
|
||||||
|
/// If you wish to remove a client event handler, call the `off(id:)` with the UUID received from its `on` call.
|
||||||
|
///
|
||||||
|
/// - parameter clientEvent: The event to remove handlers for.
|
||||||
|
open func off(clientEvent event: SocketClientEvent) {
|
||||||
|
off(event.rawValue)
|
||||||
|
}
|
||||||
|
|
||||||
/// Removes handler(s) based on an event name.
|
/// Removes handler(s) based on an event name.
|
||||||
///
|
///
|
||||||
/// If you wish to remove a specific event, call the `off(id:)` with the UUID received from its `on` call.
|
/// If you wish to remove a specific event, call the `off(id:)` with the UUID received from its `on` call.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user