--- a/RegressionTests__WebSocketTest.st Thu Feb 06 11:20:09 2020 +0100
+++ b/RegressionTests__WebSocketTest.st Fri Feb 07 10:36:59 2020 +0100
@@ -5,17 +5,17 @@
"{ NameSpace: RegressionTests }"
TestCase subclass:#WebSocketTest
- instanceVariableNames:''
- classVariableNames:'ServerWebSocket ClientWebSocket'
- poolDictionaries:''
- category:'tests-Regression-Web'
+ instanceVariableNames:''
+ classVariableNames:'ServerWebSocket ClientWebSocket'
+ poolDictionaries:''
+ category:'tests-Regression-Web'
!
HTTPService subclass:#DemoWebSocketService
- instanceVariableNames:'webSocketCreationCallback'
- classVariableNames:''
- poolDictionaries:''
- privateIn:WebSocketTest
+ instanceVariableNames:'webSocketCreationCallback'
+ classVariableNames:''
+ poolDictionaries:''
+ privateIn:WebSocketTest
!
!WebSocketTest class methodsFor:'documentation'!
@@ -541,6 +541,45 @@
"Created: / 23-01-2020 / 11:32:34 / Stefan Reise"
!
+testCommunication100WithPingsBetween
+ "
+ WebSocketStream verbose:true.
+ WebSocketStream verboseProtocol:true.
+
+ WebSocketStream verbose:false.
+ WebSocketStream verboseProtocol:false.
+
+ WebSocketStream maxBytesPerFrame:1024.
+ WebSocketStream maxBytesPerFrame:nil.
+ "
+
+ |finishSema pingDuration|
+
+ finishSema := Semaphore new.
+
+ [
+ self
+ communicationWithData:self data100
+ doAssert:true.
+
+ finishSema signal.
+ ] forkAt:4.
+
+ Delay waitForMilliseconds:1.
+ pingDuration := self clientWebSocket ping.
+ Transcript showCR:'pingDuration: ', pingDuration printString.
+ self assert:pingDuration < 10 seconds.
+
+ Delay waitForMilliseconds:1.
+ pingDuration := self serverWebSocket ping.
+ Transcript showCR:'pingDuration: ', pingDuration printString.
+ self assert:pingDuration < 10 seconds.
+
+ finishSema wait.
+
+ "Created: / 07-02-2020 / 10:22:01 / Stefan Reise"
+!
+
testCommunicationByteArray100
"
!! call the following method in case the sockets did get corrupted !!