11import { Server } from "socket.io" ;
22import { io as ioc } from "socket.io-client" ;
3- import { setup , sleep } from "./util" ;
3+ import { setup } from "./util" ;
44import expect = require( "expect.js" ) ;
55
66describe ( "connection state recovery" , ( ) => {
7- let servers : Server [ ] , ports : number [ ] , cleanup ;
7+ let servers : Server [ ] , ports : number [ ] , cleanup : ( ) => void ;
88
99 beforeEach ( async ( ) => {
1010 const testContext = await setup ( {
@@ -82,10 +82,14 @@ describe("connection state recovery", () => {
8282 socket . io . engine . close ( ) ;
8383
8484 socket . on ( "connect" , ( ) => {
85+ // @ts -expect-error _lastOffset is private
86+ offsets . add ( socket . _lastOffset ) ;
87+
8588 expect ( socket . recovered ) . to . eql ( true ) ;
8689
8790 setTimeout ( ( ) => {
8891 expect ( events ) . to . eql ( [ 1 , 2 , 3 ] ) ;
92+ expect ( offsets . size ) . to . eql ( 4 ) ;
8993
9094 socket . disconnect ( ) ;
9195 done ( ) ;
@@ -94,9 +98,13 @@ describe("connection state recovery", () => {
9498 } ) ;
9599
96100 const events : number [ ] = [ ] ;
101+ const offsets = new Set < string > ( ) ;
97102
98103 socket . on ( "myEvent" , ( val ) => {
99104 events . push ( val ) ;
105+ // note: the offset is updated after the callback execution
106+ // @ts -expect-error _lastOffset is private
107+ offsets . add ( socket . _lastOffset ) ;
100108 } ) ;
101109 } ) ;
102110
0 commit comments