UNPKG

node-red-contrib-web-worldmap

Version:

A Node-RED node to provide a web page of a world map for plotting things on.

76 lines (63 loc) 1.66 kB
var assert = require('assert'); var Stream = require('stream').Stream; var StreamStack = require('../').StreamStack; exports['no-handlers'] = function() { var stream = new Stream(); var stack = new StreamStack(stream); var oldEmit = stack.emit; var numEmits = 0; stack.emit = function() { switch(numEmits++) { case 0: assert.equal('event', arguments[0]); break; case 1: assert.equal('data', arguments[0]); assert.equal('Hello World!', arguments[1]); break; case 2: assert.equal('end', arguments[0]); break; } return oldEmit.apply(stack, arguments); } stream.emit('event'); stream.emit('data', new Buffer('Hello World!')); stream.emit('end'); } exports['with-empty-data-handler'] = function() { var stream = new Stream(); var stack = new StreamStack(stream, { data: function(chunk) {} }); var gotData = false; stack.on('data', function() { gotData = true; }); stream.emit('data', 'test'); assert.equal(false, gotData); } exports['with-emitting-data-handler'] = function() { var stream = new Stream(); var stack = new StreamStack(stream, { data: function(chunk) { this.emit('data', chunk); } }); var gotData = false; stack.on('data', function() { gotData = true; }); stream.emit('data', 'test'); assert.equal(true, gotData); } exports['with-crazy-event-name'] = function() { var stream = new Stream(); var stack = new StreamStack(stream); var gotZyx = false; stack.on('zyx', function() { gotZyx = true; }); stream.emit('zyx'); assert.equal(true, gotZyx); }