This commit is contained in:
Lukas Schmidt 2015-07-26 16:58:08 +02:00
parent aa6db7c837
commit a1af98e173
2 changed files with 84 additions and 21 deletions

View File

@ -51,7 +51,7 @@
945B653F1B5FCEEA0081E995 /* SocketTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF861B51F254004FF46E /* SocketTypes.swift */; };
945B65401B5FCEEA0081E995 /* SwiftRegex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF871B51F254004FF46E /* SwiftRegex.swift */; };
945B65411B5FCEEA0081E995 /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF881B51F254004FF46E /* WebSocket.swift */; };
945B65431B63D9DB0081E995 /* ConvertedSocketTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 945B65421B63D9DB0081E995 /* ConvertedSocketTest.swift */; };
945B65431B63D9DB0081E995 /* SocketEmitTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 945B65421B63D9DB0081E995 /* SocketEmitTest.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -96,7 +96,7 @@
5764DF861B51F254004FF46E /* SocketTypes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SocketTypes.swift; path = SocketIOClientSwift/SocketTypes.swift; sourceTree = "<group>"; };
5764DF871B51F254004FF46E /* SwiftRegex.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SwiftRegex.swift; path = SocketIOClientSwift/SwiftRegex.swift; sourceTree = "<group>"; };
5764DF881B51F254004FF46E /* WebSocket.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = WebSocket.swift; path = SocketIOClientSwift/WebSocket.swift; sourceTree = "<group>"; };
945B65421B63D9DB0081E995 /* ConvertedSocketTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConvertedSocketTest.swift; sourceTree = "<group>"; };
945B65421B63D9DB0081E995 /* SocketEmitTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketEmitTest.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -176,7 +176,7 @@
572EF2281B51F16C00EEBB58 /* SocketIO-iOSTests */ = {
isa = PBXGroup;
children = (
945B65421B63D9DB0081E995 /* ConvertedSocketTest.swift */,
945B65421B63D9DB0081E995 /* SocketEmitTest.swift */,
572EF2291B51F16C00EEBB58 /* Supporting Files */,
);
path = "SocketIO-iOSTests";
@ -443,7 +443,7 @@
945B65391B5FCEEA0081E995 /* SocketEventHandler.swift in Sources */,
945B65371B5FCEEA0081E995 /* SocketEngine.swift in Sources */,
945B65351B5FCEEA0081E995 /* SocketAckManager.swift in Sources */,
945B65431B63D9DB0081E995 /* ConvertedSocketTest.swift in Sources */,
945B65431B63D9DB0081E995 /* SocketEmitTest.swift in Sources */,
945B65401B5FCEEA0081E995 /* SwiftRegex.swift in Sources */,
945B653C1B5FCEEA0081E995 /* SocketLogger.swift in Sources */,
945B65381B5FCEEA0081E995 /* SocketEngineClient.swift in Sources */,

View File

@ -9,8 +9,8 @@
import XCTest
import Foundation
class ConvertedSocketTest: XCTestCase {
class SocketEmitTest: XCTestCase {
private static let TEST_TIMEOUT = 20.0
var socket:SocketIOClient!
@ -32,15 +32,8 @@ class ConvertedSocketTest: XCTestCase {
"reconnectWait": 5, // default 10
"forcePolling": false,
"forceWebsockets": false,// default false
"nsp": "/swift",
"path": "",
"extraHeaders": headers,
// "connectParams": [
// "test": 2.1,
// "d": "{}"
// ],
//"cookies": cookieArray
])
"extraHeaders": headers])
}
openConnection()
}
@ -158,11 +151,86 @@ class ConvertedSocketTest: XCTestCase {
if let double = result?.firstObject as? NSNumber {
XCTAssertEqual(double.floatValue, 1.2)
}else {
XCTFail("Should have String as result")
XCTFail("Should have Double as result")
}
}
abstractSocketEmitTest(testName, emitData: 1.1, callback: didGetEmit)
}
func testJSONEmit() {
let testName = "testJSONEmit"
func didGetEmit(result:NSArray?, ack:AckEmitter?) {
if let json = result?.firstObject as? NSDictionary {
XCTAssertEqual(json.valueForKey("testString")! as! String, "test")
XCTAssertEqual(json.valueForKey("testNumber")! as! Int, 15)
XCTAssertEqual((json.valueForKey("testArray")! as! Array<AnyObject>).count, 2)
XCTAssertEqual((json.valueForKey("testArray")! as! Array<AnyObject>).last! as! Int, 1)
let string = NSString(data: (json.valueForKey("testArray")! as! Array<AnyObject>).first! as! NSData, encoding: NSUTF8StringEncoding)!
XCTAssertEqual(string, "gakgakgak2")
}else {
XCTFail("Should have NSDictionary as result")
}
}
let json = ["name": "test", "testArray": ["hallo"], "nestedTest": ["test": "test"], "number": 15]
abstractSocketEmitTest(testName, emitData: json, callback: didGetEmit)
}
func testUnicodeEmit() {
let testName = "testUnicodeEmit"
func didGetEmit(result:NSArray?, ack:AckEmitter?) {
if let unicode = result?.firstObject as? String {
XCTAssertEqual(unicode, "🚄")
}else {
XCTFail("Should have String as result")
}
}
abstractSocketEmitTest(testName, emitData: "🚀", callback: didGetEmit)
}
func testMultipleItemsEmit() {
let testName = "testMultipleItemsEmit"
let expection = self.expectationWithDescription(testName)
func didGetEmit(result:NSArray?, ack:AckEmitter?) {
XCTAssertEqual(result!.count, 5)
if let array = result?.firstObject as? Array<AnyObject> {
XCTAssertEqual(array.last! as! Int, 2)
let string = NSString(data: array.first! as! NSData, encoding: NSUTF8StringEncoding)!
XCTAssertEqual(string, "gakgakgak2")
}else {
XCTFail("Should have Array as result")
}
if let dict = result?[1] as? NSDictionary {
XCTAssertEqual(dict.valueForKey("test") as! String, "bob")
}else {
XCTFail("Should have NSDictionary as result")
}
if let number = result?[2] as? Int {
XCTAssertEqual(number, 25)
}else {
XCTFail("Should have Integer as result")
}
if let string = result?[3] as? String {
XCTAssertEqual(string, "polo")
}else {
XCTFail("Should have Integer as result")
}
if let data = result?[4] as? NSData {
let string = NSString(data: data, encoding: NSUTF8StringEncoding)!
XCTAssertEqual(string, "gakgakgak2")
}else {
XCTFail("Should have NSData as result")
}
expection.fulfill()
}
let data = NSString(string: "gakgakgak2").dataUsingEncoding(NSUTF8StringEncoding)!
socket.emit(testName, withItems: [["test1", "test2"], ["test": "test"], 15, "marco", data])
socket.on(testName + "Return", callback: didGetEmit)
waitForExpectationsWithTimeout(SocketEmitTest.TEST_TIMEOUT, handler: nil)
}
func abstractSocketEmitTest(testName:String, emitData:AnyObject?, callback:NormalCallback){
@ -179,12 +247,7 @@ class ConvertedSocketTest: XCTestCase {
socket.emit(testName)
}
waitForExpectationsWithTimeout(5, handler: nil)
}
func testCloseConnection() {
// socket.close(fast: false)
// XCTAssertTrue(socket.closed)
waitForExpectationsWithTimeout(SocketEmitTest.TEST_TIMEOUT, handler: nil)
}
}