namespace tests

This commit is contained in:
Lukas Schmidt 2015-07-28 14:46:30 +02:00
parent b1b9a7edaf
commit 30cf2bb67a
4 changed files with 133 additions and 20 deletions

View File

@ -39,6 +39,7 @@
5764DFA11B51F254004FF46E /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF881B51F254004FF46E /* WebSocket.swift */; }; 5764DFA11B51F254004FF46E /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF881B51F254004FF46E /* WebSocket.swift */; };
5764DFA21B51F254004FF46E /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF881B51F254004FF46E /* WebSocket.swift */; }; 5764DFA21B51F254004FF46E /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF881B51F254004FF46E /* WebSocket.swift */; };
941A4ABA1B67A56C00C42318 /* TestKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 941A4AB91B67A56C00C42318 /* TestKind.swift */; }; 941A4ABA1B67A56C00C42318 /* TestKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 941A4AB91B67A56C00C42318 /* TestKind.swift */; };
94242BB81B67B0E500AAAC9D /* SocketNamespaceAcknowledgementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94242BB71B67B0E500AAAC9D /* SocketNamespaceAcknowledgementTest.swift */; };
945B65351B5FCEEA0081E995 /* SocketAckManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7C1B51F254004FF46E /* SocketAckManager.swift */; }; 945B65351B5FCEEA0081E995 /* SocketAckManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7C1B51F254004FF46E /* SocketAckManager.swift */; };
945B65361B5FCEEA0081E995 /* SocketAnyEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7D1B51F254004FF46E /* SocketAnyEvent.swift */; }; 945B65361B5FCEEA0081E995 /* SocketAnyEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7D1B51F254004FF46E /* SocketAnyEvent.swift */; };
945B65371B5FCEEA0081E995 /* SocketEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7E1B51F254004FF46E /* SocketEngine.swift */; }; 945B65371B5FCEEA0081E995 /* SocketEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7E1B51F254004FF46E /* SocketEngine.swift */; };
@ -100,6 +101,7 @@
5764DF871B51F254004FF46E /* SwiftRegex.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SwiftRegex.swift; path = SocketIOClientSwift/SwiftRegex.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>"; }; 5764DF881B51F254004FF46E /* WebSocket.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = WebSocket.swift; path = SocketIOClientSwift/WebSocket.swift; sourceTree = "<group>"; };
941A4AB91B67A56C00C42318 /* TestKind.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestKind.swift; sourceTree = "<group>"; }; 941A4AB91B67A56C00C42318 /* TestKind.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestKind.swift; sourceTree = "<group>"; };
94242BB71B67B0E500AAAC9D /* SocketNamespaceAcknowledgementTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketNamespaceAcknowledgementTest.swift; sourceTree = "<group>"; };
945B65421B63D9DB0081E995 /* SocketEmitTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketEmitTest.swift; sourceTree = "<group>"; }; 945B65421B63D9DB0081E995 /* SocketEmitTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketEmitTest.swift; sourceTree = "<group>"; };
94ADAC481B652D3300FD79AE /* SocketNamespaceEmitTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketNamespaceEmitTest.swift; sourceTree = "<group>"; }; 94ADAC481B652D3300FD79AE /* SocketNamespaceEmitTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketNamespaceEmitTest.swift; sourceTree = "<group>"; };
94ADAC4A1B6632DD00FD79AE /* SocketAcknowledgementTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketAcknowledgementTest.swift; sourceTree = "<group>"; }; 94ADAC4A1B6632DD00FD79AE /* SocketAcknowledgementTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketAcknowledgementTest.swift; sourceTree = "<group>"; };
@ -183,10 +185,11 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
945B65421B63D9DB0081E995 /* SocketEmitTest.swift */, 945B65421B63D9DB0081E995 /* SocketEmitTest.swift */,
94ADAC481B652D3300FD79AE /* SocketNamespaceEmitTest.swift */,
94ADAC4A1B6632DD00FD79AE /* SocketAcknowledgementTest.swift */, 94ADAC4A1B6632DD00FD79AE /* SocketAcknowledgementTest.swift */,
572EF2291B51F16C00EEBB58 /* Supporting Files */, 94ADAC481B652D3300FD79AE /* SocketNamespaceEmitTest.swift */,
94242BB71B67B0E500AAAC9D /* SocketNamespaceAcknowledgementTest.swift */,
941A4AB91B67A56C00C42318 /* TestKind.swift */, 941A4AB91B67A56C00C42318 /* TestKind.swift */,
572EF2291B51F16C00EEBB58 /* Supporting Files */,
); );
path = "SocketIO-iOSTests"; path = "SocketIO-iOSTests";
sourceTree = "<group>"; sourceTree = "<group>";
@ -463,6 +466,7 @@
945B653B1B5FCEEA0081E995 /* SocketIOClient.swift in Sources */, 945B653B1B5FCEEA0081E995 /* SocketIOClient.swift in Sources */,
94ADAC491B652D3300FD79AE /* SocketNamespaceEmitTest.swift in Sources */, 94ADAC491B652D3300FD79AE /* SocketNamespaceEmitTest.swift in Sources */,
945B65411B5FCEEA0081E995 /* WebSocket.swift in Sources */, 945B65411B5FCEEA0081E995 /* WebSocket.swift in Sources */,
94242BB81B67B0E500AAAC9D /* SocketNamespaceAcknowledgementTest.swift in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };

View File

@ -19,7 +19,6 @@ class SocketAcknowledgementTest: SocketEmitTest {
"forcePolling": false, "forcePolling": false,
"forceWebsockets": false,// default false "forceWebsockets": false,// default false
"path": "", "path": "",
"nsp": "/swift",
"extraHeaders": headers]) "extraHeaders": headers])
openConnection() openConnection()
} }
@ -72,7 +71,7 @@ class SocketAcknowledgementTest: SocketEmitTest {
super.testMultipleItemsEmit() super.testMultipleItemsEmit()
} }
override func abstractSocketEmitTest(testName:String, emitData:AnyObject?, callback:NormalCallback){ override func abstractSocketEmit(testName:String, emitData:AnyObject?, callback:NormalCallback){
let finalTestname = testName + testKind.rawValue let finalTestname = testName + testKind.rawValue
let expection = self.expectationWithDescription(finalTestname) let expection = self.expectationWithDescription(finalTestname)
func didGetEmit(result:NSArray?) { func didGetEmit(result:NSArray?) {

View File

@ -56,7 +56,7 @@ class SocketEmitTest: XCTestCase {
func didGetEmit(result:NSArray?, ack:AckEmitter?) { func didGetEmit(result:NSArray?, ack:AckEmitter?) {
} }
abstractSocketEmitTest(testName, emitData: nil, callback: didGetEmit) abstractSocketEmit(testName, emitData: nil, callback: didGetEmit)
} }
func testEmitNull() { func testEmitNull() {
@ -69,7 +69,7 @@ class SocketEmitTest: XCTestCase {
XCTFail("Should have NSNull as result") XCTFail("Should have NSNull as result")
} }
} }
abstractSocketEmitTest(testName, emitData: NSNull(), callback: didGetEmit) abstractSocketEmit(testName, emitData: NSNull(), callback: didGetEmit)
} }
func testEmitBinary() { func testEmitBinary() {
@ -83,7 +83,7 @@ class SocketEmitTest: XCTestCase {
} }
} }
let data = NSString(string: "gakgakgak2").dataUsingEncoding(NSUTF8StringEncoding)! let data = NSString(string: "gakgakgak2").dataUsingEncoding(NSUTF8StringEncoding)!
abstractSocketEmitTest(testName, emitData: data, callback: didGetEmit) abstractSocketEmit(testName, emitData: data, callback: didGetEmit)
} }
func testArrayEmit() { func testArrayEmit() {
@ -97,7 +97,7 @@ class SocketEmitTest: XCTestCase {
XCTFail("Should have NSArray as result") XCTFail("Should have NSArray as result")
} }
} }
abstractSocketEmitTest(testName, emitData: ["test1", "test2"], callback: didGetEmit) abstractSocketEmit(testName, emitData: ["test1", "test2"], callback: didGetEmit)
} }
func testStringEmit() { func testStringEmit() {
@ -109,7 +109,7 @@ class SocketEmitTest: XCTestCase {
XCTFail("Should have String as result") XCTFail("Should have String as result")
} }
} }
abstractSocketEmitTest(testName, emitData: "marco", callback: didGetEmit) abstractSocketEmit(testName, emitData: "marco", callback: didGetEmit)
} }
func testBoolEmit() { func testBoolEmit() {
@ -121,7 +121,7 @@ class SocketEmitTest: XCTestCase {
XCTFail("Should have Boolean as result") XCTFail("Should have Boolean as result")
} }
} }
abstractSocketEmitTest(testName, emitData: false, callback: didGetEmit) abstractSocketEmit(testName, emitData: false, callback: didGetEmit)
} }
func testIntegerEmit() { func testIntegerEmit() {
@ -133,7 +133,7 @@ class SocketEmitTest: XCTestCase {
XCTFail("Should have Integer as result") XCTFail("Should have Integer as result")
} }
} }
abstractSocketEmitTest(testName, emitData: 10, callback: didGetEmit) abstractSocketEmit(testName, emitData: 10, callback: didGetEmit)
} }
func testDoubleEmit() { func testDoubleEmit() {
@ -145,7 +145,7 @@ class SocketEmitTest: XCTestCase {
XCTFail("Should have Double as result") XCTFail("Should have Double as result")
} }
} }
abstractSocketEmitTest(testName, emitData: 1.1, callback: didGetEmit) abstractSocketEmit(testName, emitData: 1.1, callback: didGetEmit)
} }
func testJSONEmit() { func testJSONEmit() {
@ -164,7 +164,7 @@ class SocketEmitTest: XCTestCase {
} }
let json = ["name": "test", "testArray": ["hallo"], "nestedTest": ["test": "test"], "number": 15] let json = ["name": "test", "testArray": ["hallo"], "nestedTest": ["test": "test"], "number": 15]
abstractSocketEmitTest(testName, emitData: json, callback: didGetEmit) abstractSocketEmit(testName, emitData: json, callback: didGetEmit)
} }
func testUnicodeEmit() { func testUnicodeEmit() {
@ -176,12 +176,11 @@ class SocketEmitTest: XCTestCase {
XCTFail("Should have String as result") XCTFail("Should have String as result")
} }
} }
abstractSocketEmitTest(testName, emitData: "🚀", callback: didGetEmit) abstractSocketEmit(testName, emitData: "🚀", callback: didGetEmit)
} }
func testMultipleItemsEmit() { func testMultipleItemsEmit() {
let testName = "testMultipleItems" let testName = "testMultipleItems"
let expection = self.expectationWithDescription(testName)
func didGetEmit(result:NSArray?, ack:AckEmitter?) { func didGetEmit(result:NSArray?, ack:AckEmitter?) {
XCTAssertEqual(result!.count, 5) XCTAssertEqual(result!.count, 5)
if let array = result?.firstObject as? Array<AnyObject> { if let array = result?.firstObject as? Array<AnyObject> {
@ -215,17 +214,33 @@ class SocketEmitTest: XCTestCase {
}else { }else {
XCTFail("Should have NSData as result") XCTFail("Should have NSData as result")
} }
expection.fulfill()
} }
let data = NSString(string: "gakgakgak2").dataUsingEncoding(NSUTF8StringEncoding)! let data = NSString(string: "gakgakgak2").dataUsingEncoding(NSUTF8StringEncoding)!
socket.emit(testName, withItems: [["test1", "test2"], ["test": "test"], 15, "marco", data]) let emitArray = [["test1", "test2"], ["test": "test"], 15, "marco", data]
socket.on(testName + "Return", callback: didGetEmit) abstractSocketMultipleEmit(testName, emitData: emitArray, callback: didGetEmit)
}
func generateTestName(rawTestName:String) ->String {
return rawTestName + testKind.rawValue
}
func abstractSocketMultipleEmit(testName:String, emitData:Array<AnyObject>, callback:NormalCallback){
let finalTestname = generateTestName(testName)
let expection = self.expectationWithDescription(finalTestname)
func didGetEmit(result:NSArray?, ack:AckEmitter?) {
callback(result, ack)
expection.fulfill()
}
socket.emit(finalTestname, withItems: emitData)
socket.on(finalTestname + "Return", callback: didGetEmit)
waitForExpectationsWithTimeout(SocketEmitTest.TEST_TIMEOUT, handler: nil) waitForExpectationsWithTimeout(SocketEmitTest.TEST_TIMEOUT, handler: nil)
} }
func abstractSocketEmitTest(testName:String, emitData:AnyObject?, callback:NormalCallback){ func abstractSocketEmit(testName:String, emitData:AnyObject?, callback:NormalCallback){
let finalTestname = testName + testKind.rawValue let finalTestname = generateTestName(testName)
let expection = self.expectationWithDescription(finalTestname) let expection = self.expectationWithDescription(finalTestname)
func didGetEmit(result:NSArray?, ack:AckEmitter?) { func didGetEmit(result:NSArray?, ack:AckEmitter?) {
callback(result, ack) callback(result, ack)

View File

@ -0,0 +1,95 @@
//
// SocketNamespaceAcknowledgementTest.swift
// Socket.IO-Client-Swift
//
// Created by Lukas Schmidt on 28.07.15.
//
//
import XCTest
class SocketNamespaceAcknowledgementTest: SocketEmitTest {
override func setUp() {
super.setUp()
testKind = TestKind.Acknowledgement
socket = SocketIOClient(socketURL: "127.0.0.1:8080", opts: [
"reconnects": true, // default true
"reconnectAttempts": -1, // default -1
"reconnectWait": 5, // default 10
"forcePolling": false,
"forceWebsockets": false,// default false
"path": "",
"nsp": "/swift",
"extraHeaders": headers])
openConnection()
}
override func testConnectionStatus() {
super.testConnectionStatus()
}
override func testEmit() {
super.testEmit()
}
override func testEmitNull() {
super.testEmitNull()
}
override func testEmitBinary() {
super.testEmitBinary()
}
override func testArrayEmit() {
super.testArrayEmit()
}
override func testStringEmit() {
super.testStringEmit()
}
override func testBoolEmit() {
super.testBoolEmit()
}
override func testIntegerEmit() {
super.testIntegerEmit()
}
override func testDoubleEmit() {
super.testDoubleEmit()
}
override func testJSONEmit() {
super.testJSONEmit()
}
override func testUnicodeEmit() {
super.testUnicodeEmit()
}
override func testMultipleItemsEmit() {
super.testMultipleItemsEmit()
}
override func abstractSocketEmit(testName:String, emitData:AnyObject?, callback:NormalCallback){
let finalTestname = testName + testKind.rawValue
let expection = self.expectationWithDescription(finalTestname)
func didGetEmit(result:NSArray?) {
callback(result, nil)
expection.fulfill()
}
var ack:OnAckCallback!
if let emitData = emitData {
ack = socket.emitWithAck(finalTestname, emitData)
} else {
ack = socket.emitWithAck(finalTestname)
}
ack(timeoutAfter: 20, callback: didGetEmit)
waitForExpectationsWithTimeout(SocketEmitTest.TEST_TIMEOUT, handler: nil)
}
}