File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 66 const RealTimeServer = require ( "./real_time_server.js" ) ;
77 const assert = require ( "_assert" ) ;
88 const ClientPointerMessage = require ( "../shared/client_pointer_message.js" ) ;
9+ const ClientRemovePointerMessage = require ( "../shared/client_remove_pointer_message.js" ) ;
910 const ServerRemovePointerMessage = require ( "../shared/server_remove_pointer_message.js" ) ;
1011 const ServerPointerMessage = require ( "../shared/server_pointer_message.js" ) ;
1112 const ClientDrawMessage = require ( "../shared/client_draw_message.js" ) ;
146147 ] ) ;
147148 } ) ;
148149
150+ it ( "does not redisplay ghost pointer when client receives pointer remove message after timeout" , function ( ) {
151+ const clientId = "my client ID" ;
152+ realTimeServer . connectNullClient ( clientId ) ;
153+ fakeClock . tick ( RealTimeLogic . CLIENT_TIMEOUT ) ;
154+
155+ const serverMessages = trackServerMessages ( ) ;
156+ const clientMessage = new ClientRemovePointerMessage ( ) ;
157+ realTimeServer . simulateClientMessage ( clientId , clientMessage ) ;
158+
159+ assert . deepEqual ( serverMessages , [
160+ {
161+ message : clientMessage . toServerMessage ( clientId ) ,
162+ type : RealTimeServer . SEND_TYPE . ALL_CLIENTS_BUT_ONE ,
163+ clientId,
164+ } ,
165+ ] ) ;
166+ } ) ;
167+
149168 it ( "when sending 'remove pointer' message after timeout, uses the correct client ID" , function ( ) {
150169 let correctId = "correct client ID" ;
151170 realTimeServer . connectNullClient ( correctId ) ;
You can’t perform that action at this time.
0 commit comments