From 84499d4c21969e353c83fbf2d5de835b56084069 Mon Sep 17 00:00:00 2001 From: Erik Date: Wed, 7 Oct 2015 12:01:55 -0400 Subject: [PATCH] start working on tests --- .../project.pbxproj | 70 +---- SocketIO-MacTests/SocketBasicEmitTest.swift | 38 +++ .../SocketPollingAcknowledgementTest.swift | 18 -- SocketIO-MacTests/SocketPollingEmitTest.swift | 18 -- ...tPollingNamespaceAcknowledgementTest.swift | 18 -- .../SocketPollingNamespaceEmitTest.swift | 18 -- SocketIO-MacTests/SocketTestEngine.swift | 75 ++++++ SocketIO-iOSTests/AbstractSocketTest.swift | 120 --------- .../SocketAcknowledgementTest.swift | 76 ------ SocketIO-iOSTests/SocketEmitTest.swift | 76 ------ .../SocketNamespaceAcknowledgementTest.swift | 75 ------ .../SocketNamespaceEmitTest.swift | 77 ------ SocketIO-iOSTests/SocketTestCases.swift | 248 ------------------ SocketIO-iOSTests/TestKind.swift | 13 - SocketIOClientSwift/SocketEngine.swift | 2 +- SocketIOClientSwift/SocketEngineSpec.swift | 1 - SocketIOClientSwift/SocketIOClient.swift | 16 +- SocketIOClientSwift/SocketPacket.swift | 1 + 18 files changed, 142 insertions(+), 818 deletions(-) create mode 100644 SocketIO-MacTests/SocketBasicEmitTest.swift delete mode 100644 SocketIO-MacTests/SocketPollingAcknowledgementTest.swift delete mode 100644 SocketIO-MacTests/SocketPollingEmitTest.swift delete mode 100644 SocketIO-MacTests/SocketPollingNamespaceAcknowledgementTest.swift delete mode 100644 SocketIO-MacTests/SocketPollingNamespaceEmitTest.swift create mode 100644 SocketIO-MacTests/SocketTestEngine.swift delete mode 100644 SocketIO-iOSTests/AbstractSocketTest.swift delete mode 100644 SocketIO-iOSTests/SocketAcknowledgementTest.swift delete mode 100644 SocketIO-iOSTests/SocketEmitTest.swift delete mode 100644 SocketIO-iOSTests/SocketNamespaceAcknowledgementTest.swift delete mode 100644 SocketIO-iOSTests/SocketNamespaceEmitTest.swift delete mode 100644 SocketIO-iOSTests/SocketTestCases.swift delete mode 100644 SocketIO-iOSTests/TestKind.swift diff --git a/Socket.IO-Client-Swift.xcodeproj/project.pbxproj b/Socket.IO-Client-Swift.xcodeproj/project.pbxproj index 6268aef..f6f3c54 100644 --- a/Socket.IO-Client-Swift.xcodeproj/project.pbxproj +++ b/Socket.IO-Client-Swift.xcodeproj/project.pbxproj @@ -37,19 +37,8 @@ 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 */; }; - 743AC41D1BB9A7A7009F615E /* SocketPollingEmitTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 743AC41C1BB9A7A7009F615E /* SocketPollingEmitTest.swift */; settings = {ASSET_TAGS = (); }; }; - 743AC41F1BB9B07C009F615E /* SocketPollingAcknowledgementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 743AC41E1BB9B07C009F615E /* SocketPollingAcknowledgementTest.swift */; settings = {ASSET_TAGS = (); }; }; - 743AC4211BB9BF65009F615E /* SocketPollingNamespaceEmitTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 743AC4201BB9BF65009F615E /* SocketPollingNamespaceEmitTest.swift */; settings = {ASSET_TAGS = (); }; }; - 743AC4231BB9C032009F615E /* SocketPollingNamespaceAcknowledgementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 743AC4221BB9C032009F615E /* SocketPollingNamespaceAcknowledgementTest.swift */; settings = {ASSET_TAGS = (); }; }; 745895381BB59A0A0050ACC8 /* SocketAckManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A20D601B99E22F00BF9E44 /* SocketAckManagerTest.swift */; }; - 745895391BB59A0A0050ACC8 /* SocketAcknowledgementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94ADAC4A1B6632DD00FD79AE /* SocketAcknowledgementTest.swift */; }; - 7458953A1BB59A0A0050ACC8 /* SocketEmitTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 945B65421B63D9DB0081E995 /* SocketEmitTest.swift */; }; - 7458953B1BB59A0A0050ACC8 /* SocketNamespaceEmitTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94ADAC481B652D3300FD79AE /* SocketNamespaceEmitTest.swift */; }; - 7458953C1BB59A0A0050ACC8 /* SocketNamespaceAcknowledgementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94242BB71B67B0E500AAAC9D /* SocketNamespaceAcknowledgementTest.swift */; }; 7458953D1BB59A0A0050ACC8 /* SocketParserTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 949FAE8C1B9B94E600073BE9 /* SocketParserTest.swift */; }; - 7458953E1BB59A0A0050ACC8 /* SocketTestCases.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94CB8F0A1B6E48B90019ED53 /* SocketTestCases.swift */; }; - 7458953F1BB59A0A0050ACC8 /* AbstractSocketTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94CB8F0C1B6E66E60019ED53 /* AbstractSocketTest.swift */; }; - 745895401BB59A0A0050ACC8 /* TestKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 941A4AB91B67A56C00C42318 /* TestKind.swift */; }; 7472A5E11BB6ECE800CD4F59 /* SocketAckManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7C1B51F254004FF46E /* SocketAckManager.swift */; }; 7472A5E21BB6ECE800CD4F59 /* SocketAnyEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7D1B51F254004FF46E /* SocketAnyEvent.swift */; }; 7472A5E31BB6ECE800CD4F59 /* SocketEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5764DF7E1B51F254004FF46E /* SocketEngine.swift */; }; @@ -83,8 +72,10 @@ 74F124E91BC56BFC002966F4 /* SocketEnginePacketType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74F124E71BC56BFC002966F4 /* SocketEnginePacketType.swift */; settings = {ASSET_TAGS = (); }; }; 74F124EA1BC56BFC002966F4 /* SocketEnginePacketType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74F124E71BC56BFC002966F4 /* SocketEnginePacketType.swift */; settings = {ASSET_TAGS = (); }; }; 74F124EB1BC56BFC002966F4 /* SocketEnginePacketType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74F124E71BC56BFC002966F4 /* SocketEnginePacketType.swift */; settings = {ASSET_TAGS = (); }; }; - 941A4ABA1B67A56C00C42318 /* TestKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = 941A4AB91B67A56C00C42318 /* TestKind.swift */; }; - 94242BB81B67B0E500AAAC9D /* SocketNamespaceAcknowledgementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94242BB71B67B0E500AAAC9D /* SocketNamespaceAcknowledgementTest.swift */; }; + 74F124ED1BC572A8002966F4 /* SocketTestEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74F124EC1BC572A8002966F4 /* SocketTestEngine.swift */; settings = {ASSET_TAGS = (); }; }; + 74F124EE1BC572A8002966F4 /* SocketTestEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74F124EC1BC572A8002966F4 /* SocketTestEngine.swift */; settings = {ASSET_TAGS = (); }; }; + 74F124F01BC574CF002966F4 /* SocketBasicEmitTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74F124EF1BC574CF002966F4 /* SocketBasicEmitTest.swift */; settings = {ASSET_TAGS = (); }; }; + 74F124F11BC574CF002966F4 /* SocketBasicEmitTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74F124EF1BC574CF002966F4 /* SocketBasicEmitTest.swift */; settings = {ASSET_TAGS = (); }; }; 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 */; }; @@ -98,13 +89,8 @@ 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 /* SocketEmitTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 945B65421B63D9DB0081E995 /* SocketEmitTest.swift */; }; 949FAE8D1B9B94E600073BE9 /* SocketParserTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 949FAE8C1B9B94E600073BE9 /* SocketParserTest.swift */; }; 94A20D611B99E22F00BF9E44 /* SocketAckManagerTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94A20D601B99E22F00BF9E44 /* SocketAckManagerTest.swift */; }; - 94ADAC491B652D3300FD79AE /* SocketNamespaceEmitTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94ADAC481B652D3300FD79AE /* SocketNamespaceEmitTest.swift */; }; - 94ADAC4B1B6632DD00FD79AE /* SocketAcknowledgementTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94ADAC4A1B6632DD00FD79AE /* SocketAcknowledgementTest.swift */; }; - 94CB8F0B1B6E48B90019ED53 /* SocketTestCases.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94CB8F0A1B6E48B90019ED53 /* SocketTestCases.swift */; }; - 94CB8F0D1B6E66E60019ED53 /* AbstractSocketTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94CB8F0C1B6E66E60019ED53 /* AbstractSocketTest.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -148,24 +134,15 @@ 5764DF861B51F254004FF46E /* SocketTypes.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SocketTypes.swift; path = SocketIOClientSwift/SocketTypes.swift; sourceTree = ""; }; 5764DF871B51F254004FF46E /* SwiftRegex.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SwiftRegex.swift; path = SocketIOClientSwift/SwiftRegex.swift; sourceTree = ""; }; 5764DF881B51F254004FF46E /* WebSocket.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = WebSocket.swift; path = SocketIOClientSwift/WebSocket.swift; sourceTree = ""; }; - 743AC41C1BB9A7A7009F615E /* SocketPollingEmitTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketPollingEmitTest.swift; sourceTree = ""; }; - 743AC41E1BB9B07C009F615E /* SocketPollingAcknowledgementTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketPollingAcknowledgementTest.swift; sourceTree = ""; }; - 743AC4201BB9BF65009F615E /* SocketPollingNamespaceEmitTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketPollingNamespaceEmitTest.swift; sourceTree = ""; }; - 743AC4221BB9C032009F615E /* SocketPollingNamespaceAcknowledgementTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketPollingNamespaceAcknowledgementTest.swift; sourceTree = ""; }; 74781D591B7E83930042CACA /* SocketIOClientStatus.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SocketIOClientStatus.swift; path = SocketIOClientSwift/SocketIOClientStatus.swift; sourceTree = ""; }; 749A7F8A1BA9D42D00782993 /* SocketAckEmitter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SocketAckEmitter.swift; path = SocketIOClientSwift/SocketAckEmitter.swift; sourceTree = ""; }; 74D765611B9F0D870028551C /* SocketStringReader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SocketStringReader.swift; path = SocketIOClientSwift/SocketStringReader.swift; sourceTree = ""; }; 74F124E21BC5697B002966F4 /* SocketEngineSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SocketEngineSpec.swift; path = SocketIOClientSwift/SocketEngineSpec.swift; sourceTree = ""; }; 74F124E71BC56BFC002966F4 /* SocketEnginePacketType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SocketEnginePacketType.swift; path = SocketIOClientSwift/SocketEnginePacketType.swift; sourceTree = ""; }; - 941A4AB91B67A56C00C42318 /* TestKind.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = TestKind.swift; path = "../SocketIO-iOSTests/TestKind.swift"; sourceTree = ""; }; - 94242BB71B67B0E500AAAC9D /* SocketNamespaceAcknowledgementTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SocketNamespaceAcknowledgementTest.swift; path = "../SocketIO-iOSTests/SocketNamespaceAcknowledgementTest.swift"; sourceTree = ""; }; - 945B65421B63D9DB0081E995 /* SocketEmitTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SocketEmitTest.swift; path = "../SocketIO-iOSTests/SocketEmitTest.swift"; sourceTree = ""; }; + 74F124EC1BC572A8002966F4 /* SocketTestEngine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketTestEngine.swift; sourceTree = ""; }; + 74F124EF1BC574CF002966F4 /* SocketBasicEmitTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketBasicEmitTest.swift; sourceTree = ""; }; 949FAE8C1B9B94E600073BE9 /* SocketParserTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SocketParserTest.swift; path = "../SocketIO-iOSTests/SocketParserTest.swift"; sourceTree = ""; }; 94A20D601B99E22F00BF9E44 /* SocketAckManagerTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SocketAckManagerTest.swift; path = "../SocketIO-iOSTests/SocketAckManagerTest.swift"; sourceTree = ""; }; - 94ADAC481B652D3300FD79AE /* SocketNamespaceEmitTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SocketNamespaceEmitTest.swift; path = "../SocketIO-iOSTests/SocketNamespaceEmitTest.swift"; sourceTree = ""; }; - 94ADAC4A1B6632DD00FD79AE /* SocketAcknowledgementTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SocketAcknowledgementTest.swift; path = "../SocketIO-iOSTests/SocketAcknowledgementTest.swift"; sourceTree = ""; }; - 94CB8F0A1B6E48B90019ED53 /* SocketTestCases.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SocketTestCases.swift; path = "../SocketIO-iOSTests/SocketTestCases.swift"; sourceTree = ""; }; - 94CB8F0C1B6E66E60019ED53 /* AbstractSocketTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AbstractSocketTest.swift; path = "../SocketIO-iOSTests/AbstractSocketTest.swift"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -279,18 +256,9 @@ isa = PBXGroup; children = ( 94A20D601B99E22F00BF9E44 /* SocketAckManagerTest.swift */, - 94ADAC4A1B6632DD00FD79AE /* SocketAcknowledgementTest.swift */, - 743AC41E1BB9B07C009F615E /* SocketPollingAcknowledgementTest.swift */, - 945B65421B63D9DB0081E995 /* SocketEmitTest.swift */, - 743AC41C1BB9A7A7009F615E /* SocketPollingEmitTest.swift */, - 94242BB71B67B0E500AAAC9D /* SocketNamespaceAcknowledgementTest.swift */, - 743AC4221BB9C032009F615E /* SocketPollingNamespaceAcknowledgementTest.swift */, - 94ADAC481B652D3300FD79AE /* SocketNamespaceEmitTest.swift */, - 743AC4201BB9BF65009F615E /* SocketPollingNamespaceEmitTest.swift */, + 74F124EF1BC574CF002966F4 /* SocketBasicEmitTest.swift */, 949FAE8C1B9B94E600073BE9 /* SocketParserTest.swift */, - 94CB8F0A1B6E48B90019ED53 /* SocketTestCases.swift */, - 94CB8F0C1B6E66E60019ED53 /* AbstractSocketTest.swift */, - 941A4AB91B67A56C00C42318 /* TestKind.swift */, + 74F124EC1BC572A8002966F4 /* SocketTestEngine.swift */, 572EF2471B51F18A00EEBB58 /* Supporting Files */, ); path = "SocketIO-MacTests"; @@ -532,28 +500,23 @@ 945B653D1B5FCEEA0081E995 /* SocketPacket.swift in Sources */, 945B653A1B5FCEEA0081E995 /* SocketFixUTF8.swift in Sources */, 945B65391B5FCEEA0081E995 /* SocketEventHandler.swift in Sources */, - 94CB8F0B1B6E48B90019ED53 /* SocketTestCases.swift in Sources */, 749A7F8C1BA9D42D00782993 /* SocketAckEmitter.swift in Sources */, + 74F124ED1BC572A8002966F4 /* SocketTestEngine.swift in Sources */, 945B65371B5FCEEA0081E995 /* SocketEngine.swift in Sources */, 945B65351B5FCEEA0081E995 /* SocketAckManager.swift in Sources */, - 941A4ABA1B67A56C00C42318 /* TestKind.swift in Sources */, - 94CB8F0D1B6E66E60019ED53 /* AbstractSocketTest.swift in Sources */, - 945B65431B63D9DB0081E995 /* SocketEmitTest.swift in Sources */, 945B65401B5FCEEA0081E995 /* SwiftRegex.swift in Sources */, 945B653C1B5FCEEA0081E995 /* SocketLogger.swift in Sources */, 94A20D611B99E22F00BF9E44 /* SocketAckManagerTest.swift in Sources */, 74F124E41BC5697B002966F4 /* SocketEngineSpec.swift in Sources */, 945B65381B5FCEEA0081E995 /* SocketEngineClient.swift in Sources */, 945B65361B5FCEEA0081E995 /* SocketAnyEvent.swift in Sources */, - 94ADAC4B1B6632DD00FD79AE /* SocketAcknowledgementTest.swift in Sources */, 945B653F1B5FCEEA0081E995 /* SocketTypes.swift in Sources */, 74781D5B1B7E83930042CACA /* SocketIOClientStatus.swift in Sources */, 945B653B1B5FCEEA0081E995 /* SocketIOClient.swift in Sources */, + 74F124F01BC574CF002966F4 /* SocketBasicEmitTest.swift in Sources */, 949FAE8D1B9B94E600073BE9 /* SocketParserTest.swift in Sources */, - 94ADAC491B652D3300FD79AE /* SocketNamespaceEmitTest.swift in Sources */, 945B65411B5FCEEA0081E995 /* WebSocket.swift in Sources */, 74F124E91BC56BFC002966F4 /* SocketEnginePacketType.swift in Sources */, - 94242BB81B67B0E500AAAC9D /* SocketNamespaceAcknowledgementTest.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -586,13 +549,13 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 743AC4231BB9C032009F615E /* SocketPollingNamespaceAcknowledgementTest.swift in Sources */, 7472A5E11BB6ECE800CD4F59 /* SocketAckManager.swift in Sources */, 7472A5E21BB6ECE800CD4F59 /* SocketAnyEvent.swift in Sources */, 74F124E61BC5697B002966F4 /* SocketEngineSpec.swift in Sources */, 7472A5E31BB6ECE800CD4F59 /* SocketEngine.swift in Sources */, 7472A5E41BB6ECE800CD4F59 /* SocketEngineClient.swift in Sources */, 7472A5E51BB6ECE800CD4F59 /* SocketEventHandler.swift in Sources */, + 74F124EE1BC572A8002966F4 /* SocketTestEngine.swift in Sources */, 7472A5E61BB6ECE800CD4F59 /* SocketFixUTF8.swift in Sources */, 7472A5E71BB6ECE800CD4F59 /* SocketIOClient.swift in Sources */, 7472A5E81BB6ECE800CD4F59 /* SocketLogger.swift in Sources */, @@ -603,18 +566,9 @@ 7472A5ED1BB6ECE800CD4F59 /* SwiftRegex.swift in Sources */, 7472A5EE1BB6ECE800CD4F59 /* WebSocket.swift in Sources */, 745895381BB59A0A0050ACC8 /* SocketAckManagerTest.swift in Sources */, - 745895391BB59A0A0050ACC8 /* SocketAcknowledgementTest.swift in Sources */, - 7458953A1BB59A0A0050ACC8 /* SocketEmitTest.swift in Sources */, - 743AC4211BB9BF65009F615E /* SocketPollingNamespaceEmitTest.swift in Sources */, - 7458953B1BB59A0A0050ACC8 /* SocketNamespaceEmitTest.swift in Sources */, - 7458953C1BB59A0A0050ACC8 /* SocketNamespaceAcknowledgementTest.swift in Sources */, 7458953D1BB59A0A0050ACC8 /* SocketParserTest.swift in Sources */, - 7458953E1BB59A0A0050ACC8 /* SocketTestCases.swift in Sources */, - 743AC41F1BB9B07C009F615E /* SocketPollingAcknowledgementTest.swift in Sources */, - 743AC41D1BB9A7A7009F615E /* SocketPollingEmitTest.swift in Sources */, - 7458953F1BB59A0A0050ACC8 /* AbstractSocketTest.swift in Sources */, + 74F124F11BC574CF002966F4 /* SocketBasicEmitTest.swift in Sources */, 74F124EB1BC56BFC002966F4 /* SocketEnginePacketType.swift in Sources */, - 745895401BB59A0A0050ACC8 /* TestKind.swift in Sources */, 749A7F901BA9D42D00782993 /* SocketAckEmitter.swift in Sources */, 74781D5D1B7E83930042CACA /* SocketIOClientStatus.swift in Sources */, ); diff --git a/SocketIO-MacTests/SocketBasicEmitTest.swift b/SocketIO-MacTests/SocketBasicEmitTest.swift new file mode 100644 index 0000000..657cada --- /dev/null +++ b/SocketIO-MacTests/SocketBasicEmitTest.swift @@ -0,0 +1,38 @@ +// +// SocketBasicEmitTest.swift +// Socket.IO-Client-Swift +// +// Created by Erik Little on 10/7/15. +// +// + +import XCTest + +class SocketBasicEmitTest: XCTestCase { + var socket: SocketIOClient! + + override func setUp() { + super.setUp() + socket = SocketIOClient(socketURL: "") + socket.setTestable() + } + + override func tearDown() { + // Put teardown code here. This method is called after the invocation of each test method in the class. + super.tearDown() + } + + func testEmpyEmit() { + let engine = SocketTestEngine(client: socket, expectedSendString: "2[\"test\"]", expectedNumberOfBinary: 0) + socket.setTestEngine(engine) + socket.emitTest("test") + XCTAssert(engine.socketDidCorrectlyCreatePacket()) + } + + func testStringEmit() { + let engine = SocketTestEngine(client: socket, expectedSendString: "2[\"test\",\"foo bar\"]", expectedNumberOfBinary: 0) + socket.setTestEngine(engine) + socket.emitTest("test", "foo bar") + XCTAssert(engine.socketDidCorrectlyCreatePacket()) + } +} diff --git a/SocketIO-MacTests/SocketPollingAcknowledgementTest.swift b/SocketIO-MacTests/SocketPollingAcknowledgementTest.swift deleted file mode 100644 index 20df5d5..0000000 --- a/SocketIO-MacTests/SocketPollingAcknowledgementTest.swift +++ /dev/null @@ -1,18 +0,0 @@ -// -// SocketPollingAcknowledgementTest.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 9/28/15. -// -// - -import Foundation -import XCTest - -class SocketPollingAcknowledgementTest: SocketAcknowledgementTest { - override func setUp() { - AbstractSocketTest.socket = AbstractSocketTest.regularPollingSocket - testKind = TestKind.Acknowledgement - openConnection(AbstractSocketTest.socket) - } -} diff --git a/SocketIO-MacTests/SocketPollingEmitTest.swift b/SocketIO-MacTests/SocketPollingEmitTest.swift deleted file mode 100644 index 86bf015..0000000 --- a/SocketIO-MacTests/SocketPollingEmitTest.swift +++ /dev/null @@ -1,18 +0,0 @@ -// -// SocketPollingEmitTest.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 9/28/15. -// -// - -import Foundation -import XCTest - -class SocketPollingEmitTest: SocketEmitTest { - override func setUp() { - AbstractSocketTest.socket = AbstractSocketTest.regularPollingSocket - testKind = TestKind.Emit - openConnection(AbstractSocketTest.socket) - } -} diff --git a/SocketIO-MacTests/SocketPollingNamespaceAcknowledgementTest.swift b/SocketIO-MacTests/SocketPollingNamespaceAcknowledgementTest.swift deleted file mode 100644 index d8be953..0000000 --- a/SocketIO-MacTests/SocketPollingNamespaceAcknowledgementTest.swift +++ /dev/null @@ -1,18 +0,0 @@ -// -// SocketPollingNamespaceAcknowledgementTest.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 9/28/15. -// -// - -import Foundation -import XCTest - -class SocketPollingNamespaceAcknowledgementTest: SocketNamespaceAcknowledgementTest { - override func setUp() { - AbstractSocketTest.socket = AbstractSocketTest.namespacePollingSocket - testKind = TestKind.Acknowledgement - openConnection(AbstractSocketTest.socket) - } -} \ No newline at end of file diff --git a/SocketIO-MacTests/SocketPollingNamespaceEmitTest.swift b/SocketIO-MacTests/SocketPollingNamespaceEmitTest.swift deleted file mode 100644 index 4e6b8de..0000000 --- a/SocketIO-MacTests/SocketPollingNamespaceEmitTest.swift +++ /dev/null @@ -1,18 +0,0 @@ -// -// SocketPollingNamespaceEmitTest.swift -// Socket.IO-Client-Swift -// -// Created by Erik Little on 9/28/15. -// -// - -import Foundation -import XCTest - -class SocketPollingNamespaceEmitTest: SocketNamespaceEmitTest { - override func setUp() { - AbstractSocketTest.socket = AbstractSocketTest.namespacePollingSocket - testKind = TestKind.Emit - openConnection(AbstractSocketTest.socket) - } -} \ No newline at end of file diff --git a/SocketIO-MacTests/SocketTestEngine.swift b/SocketIO-MacTests/SocketTestEngine.swift new file mode 100644 index 0000000..b899a68 --- /dev/null +++ b/SocketIO-MacTests/SocketTestEngine.swift @@ -0,0 +1,75 @@ +// +// SocketTestEngine.swift +// Socket.IO-Client-Swift +// +// Created by Erik Little on 10/7/15. +// +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// + +// Test engine used to test SocketIOClient + +import Foundation + +class SocketTestEngine: NSObject, SocketEngineSpec { + private let expectedNumberOfBinary: Int + private let expectedSendString: String + private var sendString: String! + private var numOfBinary: Int! + + private(set) var sid = "" + private(set) var cookies: [NSHTTPCookie]? + private(set) var socketPath = "" + private(set) var urlPolling = "" + private(set) var urlWebSocket = "" + private(set) var ws: WebSocket? + + weak var client: SocketEngineClient? + + init(client: SocketIOClient, expectedSendString: String, expectedNumberOfBinary: Int) { + self.client = client + self.expectedSendString = expectedSendString + self.expectedNumberOfBinary = expectedNumberOfBinary + } + + required init(client: SocketEngineClient, sessionDelegate: NSURLSessionDelegate?) { + expectedSendString = "" + expectedNumberOfBinary = 0 + } + + required init(client: SocketEngineClient, opts: NSDictionary?) { + expectedSendString = "" + expectedNumberOfBinary = 0 + } + + func close(fast fast: Bool) {} + func open(opts: [String: AnyObject]?) {} + + func send(msg: String, withData datas: [NSData]?) { + sendString = msg + numOfBinary = datas?.count ?? 0 + } + + func socketDidCorrectlyCreatePacket() -> Bool { + return expectedNumberOfBinary == numOfBinary && sendString == expectedSendString + } + + func write(msg: String, withType type: SocketEnginePacketType, withData data: [NSData]?) {} +} \ No newline at end of file diff --git a/SocketIO-iOSTests/AbstractSocketTest.swift b/SocketIO-iOSTests/AbstractSocketTest.swift deleted file mode 100644 index 97744fd..0000000 --- a/SocketIO-iOSTests/AbstractSocketTest.swift +++ /dev/null @@ -1,120 +0,0 @@ -// -// AbstractSocketTest.swift -// AbstractSocketTest.socket.IO-Client-Swift -// -// Created by Lukas Schmidt on 02.08.15. -// -// - -import XCTest - -class AbstractSocketTest: XCTestCase { - static let serverURL = "localhost:6979" - static let TEST_TIMEOUT = 5.0 - static var socket: SocketIOClient! - static let regularSocket = SocketIOClient(socketURL: AbstractSocketTest.serverURL) - static let regularPollingSocket = SocketIOClient(socketURL: AbstractSocketTest.serverURL, - opts: ["forcePolling": true]) - static let namespaceSocket = SocketIOClient(socketURL: AbstractSocketTest.serverURL, - opts: ["nsp": "/swift"]) - static let namespacePollingSocket = SocketIOClient(socketURL: AbstractSocketTest.serverURL, - opts: ["forsePolling": true,"nsp": "/swift"]) - var testKind:TestKind? - - func openConnection(socket: SocketIOClient) { - guard socket.status == SocketIOClientStatus.NotConnected else {return} - - weak var expection = self.expectationWithDescription("connect") - XCTAssertTrue(socket.status == SocketIOClientStatus.NotConnected) - socket.on("connect") {data, ack in - XCTAssertEqual(socket.status, SocketIOClientStatus.Connected) - XCTAssertFalse(socket.secure) - if let expection = expection { - expection.fulfill() - } - } - socket.connect() - XCTAssertEqual(socket.status, SocketIOClientStatus.Connecting) - waitForExpectationsWithTimeout(AbstractSocketTest.TEST_TIMEOUT, handler: nil) - } - - func generateTestName(rawTestName:String) -> String { - return rawTestName + testKind!.rawValue - } - - func checkConnectionStatus() { - XCTAssertEqual(AbstractSocketTest.socket.status, SocketIOClientStatus.Connected) - XCTAssertFalse(AbstractSocketTest.socket.secure) - } - - func socketMultipleEmit(testName:String, emitData:Array, callback:NormalCallback){ - let finalTestname = generateTestName(testName) - weak var expection = self.expectationWithDescription(finalTestname) - func didGetEmit(result:[AnyObject], ack:SocketAckEmitter?) { - callback(result, ack) - if let expection = expection { - expection.fulfill() - } - } - - AbstractSocketTest.socket.emit(finalTestname, withItems: emitData) - AbstractSocketTest.socket.on(finalTestname + "Return", callback: didGetEmit) - waitForExpectationsWithTimeout(SocketEmitTest.TEST_TIMEOUT, handler: nil) - } - - - func socketEmit(testName:String, emitData:AnyObject?, callback:NormalCallback){ - let finalTestname = generateTestName(testName) - weak var expection = self.expectationWithDescription(finalTestname) - func didGetEmit(result:[AnyObject], ack:SocketAckEmitter?) { - callback(result, ack) - if let expection = expection { - expection.fulfill() - } - } - - AbstractSocketTest.socket.on(finalTestname + "Return", callback: didGetEmit) - if let emitData = emitData { - AbstractSocketTest.socket.emit(finalTestname, emitData) - } else { - AbstractSocketTest.socket.emit(finalTestname) - } - - waitForExpectationsWithTimeout(SocketEmitTest.TEST_TIMEOUT, handler: nil) - } - - - func socketAcknwoledgeMultiple(testName:String, Data:Array, callback:NormalCallback){ - let finalTestname = generateTestName(testName) - weak var expection = self.expectationWithDescription(finalTestname) - func didGetResult(result: [AnyObject]) { - callback(result, SocketAckEmitter(socket: AbstractSocketTest.socket, ackNum: -1)) - if let expection = expection { - expection.fulfill() - } - } - - AbstractSocketTest.socket.emitWithAck(finalTestname, withItems: Data)(timeoutAfter: 5, callback: didGetResult) - waitForExpectationsWithTimeout(SocketEmitTest.TEST_TIMEOUT, handler: nil) - } - - func socketAcknwoledge(testName:String, Data:AnyObject?, callback:NormalCallback){ - let finalTestname = generateTestName(testName) - weak var expection = self.expectationWithDescription(finalTestname) - func didGet(result:[AnyObject]) { - callback(result, SocketAckEmitter(socket: AbstractSocketTest.socket, ackNum: -1)) - if let expection = expection { - expection.fulfill() - } - } - var ack:OnAckCallback! - if let Data = Data { - ack = AbstractSocketTest.socket.emitWithAck(finalTestname, Data) - } else { - ack = AbstractSocketTest.socket.emitWithAck(finalTestname) - } - ack(timeoutAfter: 20, callback: didGet) - - waitForExpectationsWithTimeout(SocketEmitTest.TEST_TIMEOUT, handler: nil) - } -} diff --git a/SocketIO-iOSTests/SocketAcknowledgementTest.swift b/SocketIO-iOSTests/SocketAcknowledgementTest.swift deleted file mode 100644 index 3beba03..0000000 --- a/SocketIO-iOSTests/SocketAcknowledgementTest.swift +++ /dev/null @@ -1,76 +0,0 @@ -// -// SocketAcknowledgementTest.swift -// Socket.IO-Client-Swift -// -// Created by Lukas Schmidt on 27.07.15. -// -// - -import XCTest - -class SocketAcknowledgementTest: AbstractSocketTest { - - override func setUp() { - super.setUp() - AbstractSocketTest.socket = AbstractSocketTest.regularSocket - testKind = TestKind.Acknowledgement - openConnection(AbstractSocketTest.socket) - } - - func testConnectionStatus() { - super.checkConnectionStatus() - } - - func testBasic() { - SocketTestCases.testBasic(socketAcknwoledge) - } - - func testNull() { - SocketTestCases.testNull(socketAcknwoledge) - } - - func testBinary() { - SocketTestCases.testBinary(socketAcknwoledge) - } - - func testArray() { - SocketTestCases.testArray(socketAcknwoledge) - } - - func testString() { - SocketTestCases.testString(socketAcknwoledge) - } - - func testBool() { - SocketTestCases.testBool(socketAcknwoledge) - } - - func testInteger() { - SocketTestCases.testInteger(socketAcknwoledge) - } - - func testDouble() { - SocketTestCases.testDouble(socketAcknwoledge) - } - - func testJSON() { - SocketTestCases.testJSON(socketAcknwoledge) - } - - func testJSONWithBuffer() { - SocketTestCases.testJSONWithBuffer(socketAcknwoledge) - } - - func testUnicode() { - SocketTestCases.testUnicode(socketAcknwoledge) - } - - func testMultipleItems() { - SocketTestCases.testMultipleItems(socketAcknwoledgeMultiple) - } - - func testMultipleWithBuffer() { - SocketTestCases.testMultipleItemsWithBuffer(socketAcknwoledgeMultiple) - } - -} diff --git a/SocketIO-iOSTests/SocketEmitTest.swift b/SocketIO-iOSTests/SocketEmitTest.swift deleted file mode 100644 index c653c0f..0000000 --- a/SocketIO-iOSTests/SocketEmitTest.swift +++ /dev/null @@ -1,76 +0,0 @@ -// -// ConvertedSocketTest.swift -// Socket.IO-Client-Swift -// -// Created by Lukas Schmidt on 25.07.15. -// -// - -import XCTest -import Foundation - -class SocketEmitTest: AbstractSocketTest { - override func setUp() { - super.setUp() - AbstractSocketTest.socket = AbstractSocketTest.regularSocket - testKind = TestKind.Emit - openConnection(AbstractSocketTest.socket) - } - - func testConnectionStatus() { - super.checkConnectionStatus() - } - - func testBasic() { - SocketTestCases.testBasic(socketEmit) - } - - func testNull() { - SocketTestCases.testNull(socketEmit) - } - - func testBinary() { - SocketTestCases.testBinary(socketEmit) - } - - func testArray() { - SocketTestCases.testArray(socketEmit) - } - - func testString() { - SocketTestCases.testString(socketEmit) - } - - func testBool() { - SocketTestCases.testBool(socketEmit) - } - - func testInteger() { - SocketTestCases.testInteger(socketEmit) - } - - func testDouble() { - SocketTestCases.testDouble(socketEmit) - } - - func testJSON() { - SocketTestCases.testJSON(socketEmit) - } - - func testJSONWithBuffer() { - SocketTestCases.testJSONWithBuffer(socketEmit) - } - - func testUnicode() { - SocketTestCases.testUnicode(socketEmit) - } - - func testMultipleItems() { - SocketTestCases.testMultipleItems(socketMultipleEmit) - } - - func testMultipleWithBuffer() { - SocketTestCases.testMultipleItemsWithBuffer(socketMultipleEmit) - } - -} diff --git a/SocketIO-iOSTests/SocketNamespaceAcknowledgementTest.swift b/SocketIO-iOSTests/SocketNamespaceAcknowledgementTest.swift deleted file mode 100644 index 109e8c3..0000000 --- a/SocketIO-iOSTests/SocketNamespaceAcknowledgementTest.swift +++ /dev/null @@ -1,75 +0,0 @@ -// -// SocketNamespaceAcknowledgementTest.swift -// Socket.IO-Client-Swift -// -// Created by Lukas Schmidt on 28.07.15. -// -// - -import XCTest - -class SocketNamespaceAcknowledgementTest: AbstractSocketTest { - - override func setUp() { - super.setUp() - AbstractSocketTest.socket = AbstractSocketTest.namespaceSocket - testKind = TestKind.Acknowledgement - openConnection(AbstractSocketTest.socket) - } - - func testConnectionStatus() { - super.checkConnectionStatus() - } - - func testBasic() { - SocketTestCases.testBasic(socketAcknwoledge) - } - - func testNull() { - SocketTestCases.testNull(socketAcknwoledge) - } - - func testBinary() { - SocketTestCases.testBinary(socketAcknwoledge) - } - - func testArray() { - SocketTestCases.testArray(socketAcknwoledge) - } - - func testString() { - SocketTestCases.testString(socketAcknwoledge) - } - - func testBool() { - SocketTestCases.testBool(socketAcknwoledge) - } - - func testInteger() { - SocketTestCases.testInteger(socketAcknwoledge) - } - - func testDouble() { - SocketTestCases.testDouble(socketAcknwoledge) - } - - func testJSON() { - SocketTestCases.testJSON(socketAcknwoledge) - } - - func testJSONWithBuffer() { - SocketTestCases.testJSONWithBuffer(socketAcknwoledge) - } - - func testUnicode() { - SocketTestCases.testUnicode(socketAcknwoledge) - } - - func testMultipleItems() { - SocketTestCases.testMultipleItems(socketAcknwoledgeMultiple) - } - - func testMultipleWithBuffer() { - SocketTestCases.testMultipleItemsWithBuffer(socketAcknwoledgeMultiple) - } -} diff --git a/SocketIO-iOSTests/SocketNamespaceEmitTest.swift b/SocketIO-iOSTests/SocketNamespaceEmitTest.swift deleted file mode 100644 index 508e4bc..0000000 --- a/SocketIO-iOSTests/SocketNamespaceEmitTest.swift +++ /dev/null @@ -1,77 +0,0 @@ -// -// SocketNamespaceEmitTest.swift -// Socket.IO-Client-Swift -// -// Created by Lukas Schmidt on 26.07.15. -// -// - -import XCTest - -class SocketNamespaceEmitTest: AbstractSocketTest { - - override func setUp() { - super.setUp() - AbstractSocketTest.socket = AbstractSocketTest.namespaceSocket - testKind = TestKind.Emit - openConnection(AbstractSocketTest.socket) - } - - func testConnectionStatus() { - super.checkConnectionStatus() - } - - func testBasic() { - SocketTestCases.testBasic(socketEmit) - } - - func testNull() { - SocketTestCases.testNull(socketEmit) - } - - func testBinary() { - SocketTestCases.testBinary(socketEmit) - } - - - func testArray() { - SocketTestCases.testArray(socketEmit) - } - - func testString() { - SocketTestCases.testString(socketEmit) - } - - func testBool() { - SocketTestCases.testBool(socketEmit) - } - - func testInteger() { - SocketTestCases.testInteger(socketEmit) - } - - func testDouble() { - SocketTestCases.testDouble(socketEmit) - } - - func testJSON() { - SocketTestCases.testJSON(socketEmit) - } - - func testJSONWithBuffer() { - SocketTestCases.testJSONWithBuffer(socketEmit) - } - - func testUnicode() { - SocketTestCases.testUnicode(socketEmit) - } - - func testMultipleItems() { - SocketTestCases.testMultipleItems(socketMultipleEmit) - } - - func testMultipleWithBuffer() { - SocketTestCases.testMultipleItemsWithBuffer(socketMultipleEmit) - } - -} diff --git a/SocketIO-iOSTests/SocketTestCases.swift b/SocketIO-iOSTests/SocketTestCases.swift deleted file mode 100644 index 96cf19d..0000000 --- a/SocketIO-iOSTests/SocketTestCases.swift +++ /dev/null @@ -1,248 +0,0 @@ -// -// SocketTestCases.swift -// Socket.IO-Client-Swift -// -// Created by Lukas Schmidt on 02.08.15. -// -// - -import XCTest -import Foundation - -class SocketTestCases: NSObject { - typealias SocketSendFunction = (testName:String, emitData:AnyObject?, callback:NormalCallback)->() - - static func testBasic(abstractSocketSend:SocketSendFunction) { - let testName = "basicTest" - func didGetResult(result:[AnyObject], ack:SocketAckEmitter?) { - - } - abstractSocketSend(testName: testName, emitData: nil, callback: didGetResult) - } - - static func testNull(abstractSocketSend:SocketSendFunction) { - let testName = "testNull" - func didGetResult(result:[AnyObject], ack:SocketAckEmitter?) { - if let _ = result.first as? NSNull { - - }else - { - XCTFail("Should have NSNull as result") - } - } - abstractSocketSend(testName: testName, emitData: NSNull(), callback: didGetResult) - } - - static func testBinary(abstractSocketSend:SocketSendFunction) { - let testName = "testBinary" - func didGetResult(result:[AnyObject], ack:SocketAckEmitter?) { - if let data = result.first as? NSData { - let string = NSString(data: data, encoding: NSUTF8StringEncoding)! - XCTAssertEqual(string, "gakgakgak2") - }else { - XCTFail("Should have NSData as result") - } - } - let data = NSString(string: "gakgakgak2").dataUsingEncoding(NSUTF8StringEncoding)! - abstractSocketSend(testName: testName, emitData: data, callback: didGetResult) - } - - static func testArray(abstractSocketSend:SocketSendFunction) { - let testName = "testArray" - func didGetResult(result:[AnyObject], ack:SocketAckEmitter?) { - if let array = result.first 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") - } - } - abstractSocketSend(testName: testName, emitData: ["test1", "test2"], callback: didGetResult) - } - - static func testString(abstractSocketSend:SocketSendFunction) { - let testName = "testString" - func didGetResult(result:[AnyObject], ack:SocketAckEmitter?) { - if let string = result.first as? String { - XCTAssertEqual(string, "polo") - }else { - XCTFail("Should have String as result") - } - } - abstractSocketSend(testName: testName, emitData: "marco", callback: didGetResult) - } - - static func testBool(abstractSocketSend:SocketSendFunction) { - let testName = "testBool" - func didGetResult(result:[AnyObject], ack:SocketAckEmitter?) { - if let bool = result.first as? NSNumber { - XCTAssertTrue(bool.boolValue) - }else { - XCTFail("Should have Boolean as result") - } - } - abstractSocketSend(testName: testName, emitData: false, callback: didGetResult) - } - - static func testInteger(abstractSocketSend:SocketSendFunction) { - let testName = "testInteger" - func didGetResult(result:[AnyObject], ack:SocketAckEmitter?) { - if let integer = result.first as? Int { - XCTAssertEqual(integer, 20) - }else { - XCTFail("Should have Integer as result") - } - } - abstractSocketSend(testName: testName, emitData: 10, callback: didGetResult) - } - - static func testDouble(abstractSocketSend:SocketSendFunction) { - let testName = "testDouble" - func didGetResult(result:[AnyObject], ack:SocketAckEmitter?) { - if let double = result.first as? NSNumber { - XCTAssertEqual(double.floatValue, 1.2) - }else { - XCTFail("Should have Double as result") - } - } - abstractSocketSend(testName: testName, emitData: 1.1, callback: didGetResult) - } - - static func testJSONWithBuffer(abstractSocketSend:SocketSendFunction) { - let testName = "testJSONWithBuffer" - let data = "0".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)! - - func didGetResult(result:[AnyObject], ack:SocketAckEmitter?) { - if let json = result.first as? NSDictionary { - XCTAssertEqual((json.valueForKey("testString")! as! String), "test") - XCTAssertEqual((json.valueForKey("testNumber")! as! Int), 15) - XCTAssertEqual((json.valueForKey("testArray")! as! Array).count, 2) - XCTAssertEqual(((json.valueForKey("testArray")! as! Array).last! as! Int), 1) - let string = NSString(data: (json.valueForKey("testArray")! as! Array).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, "buf": data] - - abstractSocketSend(testName: testName, emitData: json, callback: didGetResult) - } - - static func testJSON(abstractSocketSend:SocketSendFunction) { - let testName = "testJSON" - func didGetResult(result:[AnyObject], ack:SocketAckEmitter?) { - if let json = result.first as? NSDictionary { - XCTAssertEqual((json.valueForKey("testString")! as! String), "test") - XCTAssertEqual(json.valueForKey("testNumber")! as? Int, 15) - XCTAssertEqual((json.valueForKey("testArray")! as! Array).count, 2) - XCTAssertEqual((json.valueForKey("testArray")! as! Array).first! as? Int, 1) - XCTAssertEqual((json.valueForKey("testArray")! as! Array).last! as? Int, 1) - - }else { - XCTFail("Should have NSDictionary as result") - } - } - let json = ["name": "test", "testArray": ["hallo"], "nestedTest": ["test": "test"], "number": 15] - - abstractSocketSend(testName: testName, emitData: json, callback: didGetResult) - } - - static func testUnicode(abstractSocketSend:SocketSendFunction) { - let testName = "testUnicode" - func didGetResult(result:[AnyObject], ack:SocketAckEmitter?) { - if let unicode = result.first as? String { - XCTAssertEqual(unicode, "🚄") - }else { - XCTFail("Should have String as result") - } - } - abstractSocketSend(testName: testName, emitData: "🚀", callback: didGetResult) - } - - static func testMultipleItemsWithBuffer(abstractSocketMultipleSend:(testName:String, emitData:Array, callback:NormalCallback)->()) { - let testName = "testMultipleItemsWithBuffer" - func didGetResult(result:[AnyObject], ack:SocketAckEmitter?) { - XCTAssertEqual(result.count, 5) - if result.count != 5 { - XCTFail("Fatal Fail. Lost some Data") - return - } - if let array = result.first as? Array { - XCTAssertEqual((array.last! as! Int), 2) - XCTAssertEqual((array.first! as! Int), 1) - }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") - } - } - let data = NSString(string: "gakgakgak2").dataUsingEncoding(NSUTF8StringEncoding)! - let emitArray = [["test1", "test2"], ["test": "test"], 15, "marco", data] - abstractSocketMultipleSend(testName: testName, emitData: emitArray, callback: didGetResult) - } - - static func testMultipleItems(abstractSocketMultipleSend:(testName:String, emitData:Array, callback:NormalCallback)->()) { - let testName = "testMultipleItems" - func didGetResult(result:[AnyObject], ack:SocketAckEmitter?) { - XCTAssertEqual(result.count, 5) - if result.count != 5 { - XCTFail("Fatal Fail. Lost some Data") - return - } - if let array = result.first as? Array { - XCTAssertEqual((array.last! as! Int), 2) - XCTAssertEqual((array.first! as! Int), 1) - }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 bool = result[4] as? NSNumber { - XCTAssertFalse(bool.boolValue) - }else { - XCTFail("Should have NSNumber as result") - } - } - let emitArray = [["test1", "test2"], ["test": "test"], 15, "marco", false] - abstractSocketMultipleSend(testName: testName, emitData: emitArray, callback: didGetResult) - } -} diff --git a/SocketIO-iOSTests/TestKind.swift b/SocketIO-iOSTests/TestKind.swift deleted file mode 100644 index d83c59b..0000000 --- a/SocketIO-iOSTests/TestKind.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// TestKind.swift -// Socket.IO-Client-Swift -// -// Created by Lukas Schmidt on 28.07.15. -// -// - -import Foundation - -enum TestKind: String { - case Emit, Acknowledgement -} \ No newline at end of file diff --git a/SocketIOClientSwift/SocketEngine.swift b/SocketIOClientSwift/SocketEngine.swift index cb28042..03d3706 100644 --- a/SocketIOClientSwift/SocketEngine.swift +++ b/SocketIOClientSwift/SocketEngine.swift @@ -622,7 +622,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate { } } - public func stopPolling() { + func stopPolling() { invalidated = true session.finishTasksAndInvalidate() } diff --git a/SocketIOClientSwift/SocketEngineSpec.swift b/SocketIOClientSwift/SocketEngineSpec.swift index 2423174..34b8510 100644 --- a/SocketIOClientSwift/SocketEngineSpec.swift +++ b/SocketIOClientSwift/SocketEngineSpec.swift @@ -40,6 +40,5 @@ import Foundation func close(fast fast: Bool) func open(opts: [String: AnyObject]?) func send(msg: String, withData datas: [NSData]?) - func stopPolling() func write(msg: String, withType type: SocketEnginePacketType, withData data: [NSData]?) } diff --git a/SocketIOClientSwift/SocketIOClient.swift b/SocketIOClientSwift/SocketIOClient.swift index 29c6a7d..0a7a15d 100644 --- a/SocketIOClientSwift/SocketIOClient.swift +++ b/SocketIOClientSwift/SocketIOClient.swift @@ -464,7 +464,6 @@ public final class SocketIOClient: NSObject, SocketEngineClient { Tries to reconnect to the server. */ public func reconnect() { - engine?.stopPolling() tryReconnect() } @@ -504,3 +503,18 @@ public final class SocketIOClient: NSObject, SocketEngineClient { connect() } } + +// Test extensions +extension SocketIOClient { + func setTestable() { + status = .Connected + } + + func setTestEngine(engine: SocketEngineSpec?) { + self.engine = engine + } + + func emitTest(event: String, _ data: AnyObject...) { + self._emit([event] + data) + } +} diff --git a/SocketIOClientSwift/SocketPacket.swift b/SocketIOClientSwift/SocketPacket.swift index 5608d7d..5d99229 100644 --- a/SocketIOClientSwift/SocketPacket.swift +++ b/SocketIOClientSwift/SocketPacket.swift @@ -21,6 +21,7 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. +// import Foundation