UNPKG

node-osc

Version:

pyOSC inspired library for sending and receiving OSC messages

100 lines (78 loc) 2.36 kB
'use strict'; var tap = require('tap'); var util = require('./util.js'); var nodeOsc = require('node-osc'); tap.beforeEach(util.bootstrap); tap.test('server: create and close', (t) => { t.plan(1); const oscServer = new nodeOsc.Server(t.context.port, '127.0.0.1'); oscServer.close((err) => { t.error(err); }); }); tap.test('server: listen to message', (t) => { const oscServer = new nodeOsc.Server(t.context.port); const client = new nodeOsc.Client('127.0.0.1', t.context.port); t.plan(3); t.teardown(() => { oscServer.close(); client.close(); }); oscServer.on('message', (msg) => { t.same(msg, ['/test'], 'We should receive expected payload'); }); oscServer.on('/test', (msg) => { t.same(msg, ['/test'], 'We should receive expected payload'); }); client.send('/test', (err) => { t.error(err, 'there should be no error'); }); }); tap.test('server: no defined host', (t) => { const oscServer = new nodeOsc.Server(t.context.port); const client = new nodeOsc.Client('127.0.0.1', t.context.port); t.plan(3); t.teardown(() => { oscServer.close(); client.close(); }); oscServer.on('message', (msg) => { t.same(msg, ['/test'], 'We should receive expected payload'); }); oscServer.on('/test', (msg) => { t.same(msg, ['/test'], 'We should receive expected payload'); }); client.send('/test', (err) => { t.error(err, 'there should be no error'); }); }); tap.test('server: callback as second arg', (t) => { t.plan(4); const oscServer = new nodeOsc.Server(t.context.port, () => { t.ok('callback called'); }); const client = new nodeOsc.Client('127.0.0.1', t.context.port); t.teardown(() => { oscServer.close(); client.close(); }); oscServer.on('message', (msg) => { t.same(msg, ['/test'], 'We should receive expected payload'); }); oscServer.on('/test', (msg) => { t.same(msg, ['/test'], 'We should receive expected payload'); }); client.send('/test', (err) => { t.error(err, 'there should be no error'); }); }); tap.test('server: bad message', (t) => { t.plan(2); const oscServer = new nodeOsc.Server(t.context.port, '127.0.0.1'); t.throws(() => { oscServer._sock.emit('message', 'whoops'); }, /can't decode incoming message:/); oscServer.close((err) => { t.error(err); }); });