fix join namespace parse
This commit is contained in:
parent
2bd612e47a
commit
70cacb025f
@ -45,4 +45,8 @@ struct GenericParser {
|
|||||||
|
|
||||||
return subString.substringToIndex(foundRange.location)
|
return subString.substringToIndex(foundRange.location)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mutating func readUntilEnd() ->String {
|
||||||
|
return read(messageCharacters.count - currentIndex)!
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -9,7 +9,7 @@
|
|||||||
import XCTest
|
import XCTest
|
||||||
|
|
||||||
class AbstractSocketTest: XCTestCase {
|
class AbstractSocketTest: XCTestCase {
|
||||||
static let testLocal = false
|
static let testLocal = true
|
||||||
static let serverURL = AbstractSocketTest.testLocal ? "localhost:6979" : "milkbartube.com:6979"
|
static let serverURL = AbstractSocketTest.testLocal ? "localhost:6979" : "milkbartube.com:6979"
|
||||||
static let TEST_TIMEOUT = 8.0
|
static let TEST_TIMEOUT = 8.0
|
||||||
static var socket:SocketIOClient!
|
static var socket:SocketIOClient!
|
||||||
|
|||||||
@ -21,11 +21,12 @@ class SocketAcknowledgementTest: AbstractSocketTest {
|
|||||||
"forcePolling": false,
|
"forcePolling": false,
|
||||||
"forceWebsockets": false,// default false
|
"forceWebsockets": false,// default false
|
||||||
"path": ""])
|
"path": ""])
|
||||||
|
openConnection()
|
||||||
}else {
|
}else {
|
||||||
AbstractSocketTest.socket.leaveNamespace()
|
AbstractSocketTest.socket.leaveNamespace()
|
||||||
}
|
}
|
||||||
|
|
||||||
openConnection()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func testConnectionStatus() {
|
func testConnectionStatus() {
|
||||||
|
|||||||
@ -22,11 +22,12 @@ class SocketEmitTest: AbstractSocketTest {
|
|||||||
"forceWebsockets": false,// default false
|
"forceWebsockets": false,// default false
|
||||||
"path": ""]
|
"path": ""]
|
||||||
)
|
)
|
||||||
|
openConnection()
|
||||||
}else {
|
}else {
|
||||||
AbstractSocketTest.socket.leaveNamespace()
|
AbstractSocketTest.socket.leaveNamespace()
|
||||||
}
|
}
|
||||||
|
|
||||||
openConnection()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override func tearDown() {
|
override func tearDown() {
|
||||||
|
|||||||
@ -22,11 +22,12 @@ class SocketNamespaceAcknowledgementTest: AbstractSocketTest {
|
|||||||
"forceWebsockets": false,// default false
|
"forceWebsockets": false,// default false
|
||||||
"path": "",
|
"path": "",
|
||||||
"nsp": "/swift"])
|
"nsp": "/swift"])
|
||||||
|
openConnection()
|
||||||
}else {
|
}else {
|
||||||
AbstractSocketTest.socket.joinNamespace("/swift")
|
AbstractSocketTest.socket.joinNamespace("/swift")
|
||||||
}
|
}
|
||||||
|
|
||||||
openConnection()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func testConnectionStatus() {
|
func testConnectionStatus() {
|
||||||
|
|||||||
@ -22,13 +22,12 @@ class SocketNamespaceEmitTest: AbstractSocketTest {
|
|||||||
"forceWebsockets": false,// default false
|
"forceWebsockets": false,// default false
|
||||||
"path": "",
|
"path": "",
|
||||||
"nsp": "/swift"])
|
"nsp": "/swift"])
|
||||||
|
openConnection()
|
||||||
}else {
|
}else {
|
||||||
AbstractSocketTest.socket.joinNamespace("/swift")
|
AbstractSocketTest.socket.joinNamespace("/swift")
|
||||||
}
|
}
|
||||||
|
|
||||||
openConnection()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func testConnectionStatus() {
|
func testConnectionStatus() {
|
||||||
super.checkConnectionStatus()
|
super.checkConnectionStatus()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,7 +17,9 @@ class SocketParserTest: XCTestCase {
|
|||||||
"51-/swift,[\"testMultipleItemsWithBufferEmitReturn\",[1,2],{\"test\":\"bob\"},25,\"polo\",{\"_placeholder\":true,\"num\":0}]": ("/swift", ["testMultipleItemsWithBufferEmitReturn", [1, 2], ["test": "bob"], 25, "polo", "~~0"], [], -1),
|
"51-/swift,[\"testMultipleItemsWithBufferEmitReturn\",[1,2],{\"test\":\"bob\"},25,\"polo\",{\"_placeholder\":true,\"num\":0}]": ("/swift", ["testMultipleItemsWithBufferEmitReturn", [1, 2], ["test": "bob"], 25, "polo", "~~0"], [], -1),
|
||||||
"3/swift,0[[\"test3\",\"test4\"]]": ("/swift", [["test3", "test4"]], [], 0),
|
"3/swift,0[[\"test3\",\"test4\"]]": ("/swift", [["test3", "test4"]], [], 0),
|
||||||
"61-/swift,19[[1,2],{\"test\":\"bob\"},25,\"polo\",{\"_placeholder\":true,\"num\":0}]": ("/swift", [ [1, 2], ["test": "bob"], 25, "polo", "~~0"], [], 19),
|
"61-/swift,19[[1,2],{\"test\":\"bob\"},25,\"polo\",{\"_placeholder\":true,\"num\":0}]": ("/swift", [ [1, 2], ["test": "bob"], 25, "polo", "~~0"], [], 19),
|
||||||
"4/swift,": ("/swift", [], [], -1)]
|
"4/swift,": ("/swift", [], [], -1),
|
||||||
|
"0/swift": ("/swift", [], [], -1),
|
||||||
|
"1/swift": ("/swift", [], [], -1)]
|
||||||
|
|
||||||
func testDisconnect() {
|
func testDisconnect() {
|
||||||
let message = "1"
|
let message = "1"
|
||||||
@ -29,6 +31,16 @@ class SocketParserTest: XCTestCase {
|
|||||||
validateParseResult(message)
|
validateParseResult(message)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func testDisconnectNameSpace() {
|
||||||
|
let message = "1/swift"
|
||||||
|
validateParseResult(message)
|
||||||
|
}
|
||||||
|
|
||||||
|
func testConnecttNameSpace() {
|
||||||
|
let message = "0/swift"
|
||||||
|
validateParseResult(message)
|
||||||
|
}
|
||||||
|
|
||||||
func testNameSpaceArrayParse() {
|
func testNameSpaceArrayParse() {
|
||||||
let message = "2/swift,[\"testArrayEmitReturn\",[\"test3\",\"test4\"]]"
|
let message = "2/swift,[\"testArrayEmitReturn\",[\"test3\",\"test4\"]]"
|
||||||
validateParseResult(message)
|
validateParseResult(message)
|
||||||
|
|||||||
@ -98,7 +98,7 @@ class SocketParser {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if parser.currentCharacter == "/" {
|
if parser.currentCharacter == "/" {
|
||||||
nsp = parser.readUntilStringOccurence(",")
|
nsp = parser.readUntilStringOccurence(",") ?? parser.readUntilEnd()
|
||||||
parser.currentIndex++
|
parser.currentIndex++
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -178,7 +178,7 @@ class SocketParser {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static func parseBinaryData(data: NSData, socket: SocketIOClient) {
|
static func parseBinaryData(data: NSData, socket: SocketIOClient) {
|
||||||
if socket.waitingData.count == 0 {
|
guard !socket.waitingData.isEmpty else {
|
||||||
Logger.error("Got data when not remaking packet", type: "SocketParser")
|
Logger.error("Got data when not remaking packet", type: "SocketParser")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user