more tests

This commit is contained in:
Lukas Schmidt 2015-07-28 14:25:15 +02:00
parent 252181b0c5
commit b1b9a7edaf
5 changed files with 133 additions and 27 deletions

View File

@ -38,6 +38,7 @@
5764DFA01B51F254004FF46E /* SwiftRegex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF871B51F254004FF46E /* SwiftRegex.swift */; };
5764DFA11B51F254004FF46E /* 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 */; };
945B65351B5FCEEA0081E995 /* SocketAckManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7C1B51F254004FF46E /* SocketAckManager.swift */; };
945B65361B5FCEEA0081E995 /* SocketAnyEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7D1B51F254004FF46E /* SocketAnyEvent.swift */; };
945B65371B5FCEEA0081E995 /* SocketEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7E1B51F254004FF46E /* SocketEngine.swift */; };
@ -53,6 +54,7 @@
945B65411B5FCEEA0081E995 /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF881B51F254004FF46E /* WebSocket.swift */; };
945B65431B63D9DB0081E995 /* SocketEmitTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 945B65421B63D9DB0081E995 /* SocketEmitTest.swift */; };
94ADAC491B652D3300FD79AE /* SocketNamespaceEmitTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94ADAC481B652D3300FD79AE /* SocketNamespaceEmitTest.swift */; };
94ADAC4B1B6632DD00FD79AE /* SocketAcknowledgementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94ADAC4A1B6632DD00FD79AE /* SocketAcknowledgementTest.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -97,8 +99,10 @@
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>"; };
941A4AB91B67A56C00C42318 /* TestKind.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TestKind.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>"; };
94ADAC4A1B6632DD00FD79AE /* SocketAcknowledgementTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketAcknowledgementTest.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -180,7 +184,9 @@
children = (
945B65421B63D9DB0081E995 /* SocketEmitTest.swift */,
94ADAC481B652D3300FD79AE /* SocketNamespaceEmitTest.swift */,
94ADAC4A1B6632DD00FD79AE /* SocketAcknowledgementTest.swift */,
572EF2291B51F16C00EEBB58 /* Supporting Files */,
941A4AB91B67A56C00C42318 /* TestKind.swift */,
);
path = "SocketIO-iOSTests";
sourceTree = "<group>";
@ -446,11 +452,13 @@
945B65391B5FCEEA0081E995 /* SocketEventHandler.swift in Sources */,
945B65371B5FCEEA0081E995 /* SocketEngine.swift in Sources */,
945B65351B5FCEEA0081E995 /* SocketAckManager.swift in Sources */,
941A4ABA1B67A56C00C42318 /* TestKind.swift in Sources */,
945B65431B63D9DB0081E995 /* SocketEmitTest.swift in Sources */,
945B65401B5FCEEA0081E995 /* SwiftRegex.swift in Sources */,
945B653C1B5FCEEA0081E995 /* SocketLogger.swift in Sources */,
945B65381B5FCEEA0081E995 /* SocketEngineClient.swift in Sources */,
945B65361B5FCEEA0081E995 /* SocketAnyEvent.swift in Sources */,
94ADAC4B1B6632DD00FD79AE /* SocketAcknowledgementTest.swift in Sources */,
945B653F1B5FCEEA0081E995 /* SocketTypes.swift in Sources */,
945B653B1B5FCEEA0081E995 /* SocketIOClient.swift in Sources */,
94ADAC491B652D3300FD79AE /* SocketNamespaceEmitTest.swift in Sources */,

View File

@ -0,0 +1,93 @@
//
// SocketAcknowledgementTest.swift
// Socket.IO-Client-Swift
//
// Created by Lukas Schmidt on 27.07.15.
//
//
import XCTest
class SocketAcknowledgementTest: 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 abstractSocketEmitTest(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)
}
}

View File

@ -10,11 +10,10 @@ import XCTest
import Foundation
class SocketEmitTest: XCTestCase {
private static let TEST_TIMEOUT = 20.0
static let TEST_TIMEOUT = 5.0
var socket:SocketIOClient!
let headers = ["testing": "blah", "testing2": "b/:lah"]
var testKind = TestKind.Emit
override func setUp() {
super.setUp()
@ -53,7 +52,7 @@ class SocketEmitTest: XCTestCase {
}
func testEmit() {
let testName = "testEmit"
let testName = "basicTest"
func didGetEmit(result:NSArray?, ack:AckEmitter?) {
}
@ -61,7 +60,7 @@ class SocketEmitTest: XCTestCase {
}
func testEmitNull() {
let testName = "testEmitNull"
let testName = "testNull"
func didGetEmit(result:NSArray?, ack:AckEmitter?) {
if let _ = result?.firstObject as? NSNull {
@ -74,7 +73,7 @@ class SocketEmitTest: XCTestCase {
}
func testEmitBinary() {
let testName = "testEmitBinary"
let testName = "testBinary"
func didGetEmit(result:NSArray?, ack:AckEmitter?) {
if let data = result?.firstObject as? NSData {
let string = NSString(data: data, encoding: NSUTF8StringEncoding)!
@ -88,11 +87,12 @@ class SocketEmitTest: XCTestCase {
}
func testArrayEmit() {
let testName = "testEmitArray"
let testName = "testArray"
func didGetEmit(result:NSArray?, ack:AckEmitter?) {
if let array = result?.firstObject as? NSArray {
XCTAssertEqual(array.count, 2)
XCTAssertEqual(array.firstObject! as! String, "test3")
XCTAssertEqual(array.lastObject! as! String, "test4")
}else {
XCTFail("Should have NSArray as result")
}
@ -101,7 +101,7 @@ class SocketEmitTest: XCTestCase {
}
func testStringEmit() {
let testName = "testStringEmit"
let testName = "testString"
func didGetEmit(result:NSArray?, ack:AckEmitter?) {
if let string = result?.firstObject as? String {
XCTAssertEqual(string, "polo")
@ -113,7 +113,7 @@ class SocketEmitTest: XCTestCase {
}
func testBoolEmit() {
let testName = "testBoolEmit"
let testName = "testBool"
func didGetEmit(result:NSArray?, ack:AckEmitter?) {
if let bool = result?.firstObject as? NSNumber {
XCTAssertTrue(bool.boolValue)
@ -125,7 +125,7 @@ class SocketEmitTest: XCTestCase {
}
func testIntegerEmit() {
let testName = "testIntegerEmit"
let testName = "testInteger"
func didGetEmit(result:NSArray?, ack:AckEmitter?) {
if let integer = result?.firstObject as? Int {
XCTAssertEqual(integer, 20)
@ -137,7 +137,7 @@ class SocketEmitTest: XCTestCase {
}
func testDoubleEmit() {
let testName = "testDoubleEmit"
let testName = "testDouble"
func didGetEmit(result:NSArray?, ack:AckEmitter?) {
if let double = result?.firstObject as? NSNumber {
XCTAssertEqual(double.floatValue, 1.2)
@ -149,7 +149,7 @@ class SocketEmitTest: XCTestCase {
}
func testJSONEmit() {
let testName = "testJSONEmit"
let testName = "testJSON"
func didGetEmit(result:NSArray?, ack:AckEmitter?) {
if let json = result?.firstObject as? NSDictionary {
XCTAssertEqual(json.valueForKey("testString")! as! String, "test")
@ -168,7 +168,7 @@ class SocketEmitTest: XCTestCase {
}
func testUnicodeEmit() {
let testName = "testUnicodeEmit"
let testName = "testUnicode"
func didGetEmit(result:NSArray?, ack:AckEmitter?) {
if let unicode = result?.firstObject as? String {
XCTAssertEqual(unicode, "🚄")
@ -180,7 +180,7 @@ class SocketEmitTest: XCTestCase {
}
func testMultipleItemsEmit() {
let testName = "testMultipleItemsEmit"
let testName = "testMultipleItems"
let expection = self.expectationWithDescription(testName)
func didGetEmit(result:NSArray?, ack:AckEmitter?) {
XCTAssertEqual(result!.count, 5)
@ -225,17 +225,18 @@ class SocketEmitTest: XCTestCase {
func abstractSocketEmitTest(testName:String, emitData:AnyObject?, callback:NormalCallback){
let expection = self.expectationWithDescription(testName)
let finalTestname = testName + testKind.rawValue
let expection = self.expectationWithDescription(finalTestname)
func didGetEmit(result:NSArray?, ack:AckEmitter?) {
callback(result, ack)
expection.fulfill()
}
socket.on(testName + "Return", callback: didGetEmit)
socket.on(finalTestname + "Return", callback: didGetEmit)
if let emitData = emitData {
socket.emit(testName, emitData)
socket.emit(finalTestname, emitData)
} else {
socket.emit(testName)
socket.emit(finalTestname)
}
waitForExpectationsWithTimeout(SocketEmitTest.TEST_TIMEOUT, handler: nil)

View File

@ -12,13 +12,6 @@ class SocketNamespaceEmitTest: SocketEmitTest {
override func setUp() {
super.setUp()
if testCytube {
socket = SocketIOClient(socketURL: "https://cytu.be:10443", opts: [
"forcePolling": false,
"forceWebsockets": false,
"log": true
])
} else {
socket = SocketIOClient(socketURL: "127.0.0.1:8080", opts: [
"reconnects": true, // default true
"reconnectAttempts": -1, // default -1
@ -28,9 +21,7 @@ class SocketNamespaceEmitTest: SocketEmitTest {
"path": "",
"nsp": "/swift",
"extraHeaders": headers])
}
openConnection()
}
override func tearDown() {

View File

@ -0,0 +1,13 @@
//
// TestKind.swift
// Socket.IO-Client-Swift
//
// Created by Lukas Schmidt on 28.07.15.
//
//
import Foundation
enum TestKind: String {
case Emit, Acknowledgement
}