add emitwithack tests
This commit is contained in:
parent
90c7c9aadc
commit
4c7a09cc8e
@ -94,4 +94,43 @@ class SocketBasicEmitTest: XCTestCase {
|
|||||||
socket.emitTest("test", ["data1": data, "data2": data2])
|
socket.emitTest("test", ["data1": data, "data2": data2])
|
||||||
XCTAssert(engine.socketDidCorrectlyCreatePacket())
|
XCTAssert(engine.socketDidCorrectlyCreatePacket())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func testEmitWithAck() {
|
||||||
|
let engine = SocketTestEngine(client: socket,
|
||||||
|
expectedSendString: "20[\"test\"]",
|
||||||
|
expectedNumberOfBinary: 0,
|
||||||
|
expectedBinary: nil)
|
||||||
|
|
||||||
|
engine.expectation = expectationWithDescription("emitWithAck")
|
||||||
|
socket.setTestEngine(engine)
|
||||||
|
socket.emitWithAck("test")(timeoutAfter: 0) {data in
|
||||||
|
engine.socketDidCorrectlyCreatePacket()
|
||||||
|
}
|
||||||
|
|
||||||
|
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 10000), dispatch_get_main_queue()) {
|
||||||
|
self.socket.parseSocketMessage("30[]")
|
||||||
|
}
|
||||||
|
|
||||||
|
waitForExpectationsWithTimeout(2, handler: nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
func testEmitDataWithAck() {
|
||||||
|
let data = "test".dataUsingEncoding(NSUTF8StringEncoding)!
|
||||||
|
let engine = SocketTestEngine(client: socket,
|
||||||
|
expectedSendString: "51-0[\"test\",{\"num\":0,\"_placeholder\":true}]",
|
||||||
|
expectedNumberOfBinary: 1,
|
||||||
|
expectedBinary: [data])
|
||||||
|
|
||||||
|
engine.expectation = expectationWithDescription("emitWithAck")
|
||||||
|
socket.setTestEngine(engine)
|
||||||
|
socket.emitWithAck("test", data)(timeoutAfter: 0) {data in
|
||||||
|
engine.socketDidCorrectlyCreatePacket()
|
||||||
|
}
|
||||||
|
|
||||||
|
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 10000), dispatch_get_main_queue()) {
|
||||||
|
self.socket.parseSocketMessage("30[]")
|
||||||
|
}
|
||||||
|
|
||||||
|
waitForExpectationsWithTimeout(3, handler: nil)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,14 +27,15 @@
|
|||||||
// Test engine used to test SocketIOClient
|
// Test engine used to test SocketIOClient
|
||||||
|
|
||||||
import Foundation
|
import Foundation
|
||||||
|
import XCTest
|
||||||
|
|
||||||
class SocketTestEngine: NSObject, SocketEngineSpec {
|
class SocketTestEngine: NSObject, SocketEngineSpec {
|
||||||
private let expectedNumberOfBinary: Int
|
private let expectedNumberOfBinary: Int
|
||||||
private let expectedSendString: String
|
private let expectedSendString: String
|
||||||
private var expectedBinary: [NSData]?
|
private var expectedBinary: [NSData]?
|
||||||
private var binary: [NSData]?
|
private var binary: [NSData]?
|
||||||
private var sendString: String!
|
private var sendString = ""
|
||||||
private var numOfBinary: Int!
|
private var numOfBinary = -1
|
||||||
|
|
||||||
private(set) var sid = ""
|
private(set) var sid = ""
|
||||||
private(set) var cookies: [NSHTTPCookie]?
|
private(set) var cookies: [NSHTTPCookie]?
|
||||||
@ -44,6 +45,7 @@ class SocketTestEngine: NSObject, SocketEngineSpec {
|
|||||||
private(set) var ws: WebSocket?
|
private(set) var ws: WebSocket?
|
||||||
|
|
||||||
weak var client: SocketEngineClient?
|
weak var client: SocketEngineClient?
|
||||||
|
var expectation: XCTestExpectation?
|
||||||
|
|
||||||
init(client: SocketIOClient, expectedSendString: String, expectedNumberOfBinary: Int, expectedBinary: [NSData]?) {
|
init(client: SocketIOClient, expectedSendString: String, expectedNumberOfBinary: Int, expectedBinary: [NSData]?) {
|
||||||
self.client = client
|
self.client = client
|
||||||
@ -72,9 +74,14 @@ class SocketTestEngine: NSObject, SocketEngineSpec {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func socketDidCorrectlyCreatePacket() -> Bool {
|
func socketDidCorrectlyCreatePacket() -> Bool {
|
||||||
return expectedNumberOfBinary == numOfBinary
|
if expectedNumberOfBinary == numOfBinary
|
||||||
&& sendString == expectedSendString
|
&& sendString == expectedSendString
|
||||||
&& expectedBinary ?? [] == binary ?? []
|
&& expectedBinary ?? [] == binary ?? [] {
|
||||||
|
expectation?.fulfill()
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
|
return false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func write(msg: String, withType type: SocketEnginePacketType, withData data: [NSData]?) {}
|
func write(msg: String, withType type: SocketEnginePacketType, withData data: [NSData]?) {}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user