From 16eefa4abfa0bdc097ca3a649f3c208ab3ab7d21 Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 2 Sep 2016 18:03:15 -0400 Subject: [PATCH] Don't parse twice for errors --- SocketIO-MacTests/SocketParserTest.swift | 10 ++++++++-- Source/SocketParsable.swift | 16 +++++++--------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/SocketIO-MacTests/SocketParserTest.swift b/SocketIO-MacTests/SocketParserTest.swift index a43fdaf..319c931 100644 --- a/SocketIO-MacTests/SocketParserTest.swift +++ b/SocketIO-MacTests/SocketParserTest.swift @@ -27,7 +27,8 @@ class SocketParserTest: XCTestCase { "1/swift": ("/swift", [], [], -1), "4\"ERROR\"": ("/", ["ERROR"], [], -1), "4{\"test\":2}": ("/", [["test": 2]], [], -1), - "41": ("/", [1], [], -1)] + "41": ("/", [1], [], -1), + "4[1, \"hello\"]": ("/", [1, "hello"], [], -1)] func testDisconnect() { let message = "1" @@ -99,6 +100,11 @@ class SocketParserTest: XCTestCase { validateParseResult(message) } + func testErrorTypeArray() { + let message = "4[1, \"hello\"]" + validateParseResult(message) + } + func testInvalidInput() { let message = "8" switch testSocket.parseString(message) { @@ -120,7 +126,7 @@ class SocketParserTest: XCTestCase { func validateParseResult(message: String) { let validValues = SocketParserTest.packetTypes[message]! let packet = testSocket.parseString(message) - let type = message.substringWithRange(Range(message.startIndex..