MCPcopy
hub / github.com/audreyt/ethercalc / SlowSocket

Class SlowSocket

packages/oracle-harness/test/ws-transport.test.ts:420–440  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

418
419 it('waits for open and reports close-before-open', async () => {
420 class SlowSocket implements WsLike {
421 readyState = 0;
422 private listeners = new Map<string, Array<(ev: WsEvent) => void>>();
423 send() {}
424 close() {}
425 addEventListener(type: 'message' | 'close' | 'error' | 'open', listener: (ev: WsEvent) => void) {
426 const bucket = this.listeners.get(type) ?? [];
427 bucket.push(listener);
428 this.listeners.set(type, bucket);
429 }
430 removeEventListener(type: 'message' | 'close' | 'error' | 'open', listener: (ev: WsEvent) => void) {
431 const bucket = this.listeners.get(type) ?? [];
432 this.listeners.set(
433 type,
434 bucket.filter((l) => l !== listener),
435 );
436 }
437 emitClose() {
438 for (const fn of this.listeners.get('close') ?? []) fn({});
439 }
440 }
441 const sock = new SlowSocket();
442 const pending = openWsSession({
443 targetUrl: 'http://host.test',

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected