UNPKG

wspromisify

Version:

Wraps your WebSockets into Promise-based class with full d.ts typings on client & server

24 lines (20 loc) 743 B
import { equals } from 'pepka' import { createNew, timeout } from '../utils' import mockServer from '../mock/server' import { test } from '../suite' /** Proof of work. */ test('echo', timeout(5e3, () => new Promise<void>(async (ff, rj) => { const {port} = await mockServer() let to = setTimeout(() => rj('cannot create'), 2e2) const ws = createNew({}, port) clearTimeout(to) to = setTimeout(() => rj('cannot ready'), 2e2) await ws.ready() clearTimeout(to) const msg = {echo: true, msg: 'hello!'} to = setTimeout(() => rj('cannot send'), 2e2) const response = await ws.send(msg) clearTimeout(to) if(equals(response, msg)) ff(); else rj('echo msg is not equal.') }) ))