forked from enviPath/enviPy
Current Dev State
This commit is contained in:
65
static/js/ketcher2/node_modules/events-to-array/test/basic.js
generated
vendored
Normal file
65
static/js/ketcher2/node_modules/events-to-array/test/basic.js
generated
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
var test = require('tap').test
|
||||
var EE = require('events').EventEmitter
|
||||
var etoa = require('../etoa.js')
|
||||
|
||||
test('basic', function (t) {
|
||||
var emitter = new EE()
|
||||
var array = etoa(emitter, ['ignore', 'alsoignore'])
|
||||
|
||||
emitter.emit('foo', 1, 2, 3)
|
||||
emitter.emit('ignore', 'should not see this')
|
||||
emitter.emit('bar', { x: 1 })
|
||||
|
||||
// nested events get tracked as well
|
||||
var subemit = new EE()
|
||||
emitter.emit('sub', subemit)
|
||||
subemit.emit('childEvent', { some: 'data' })
|
||||
subemit.emit('alsoignore', 'should not see this')
|
||||
subemit.emit('anotherone', { some: 'data' }, 'many', 'args')
|
||||
|
||||
// CAVEAT!
|
||||
emitter.emit('blaz', 'blorrg')
|
||||
subemit.emit('order', 'not', 'preserved between child and parent')
|
||||
|
||||
// check out the array whenever
|
||||
t.same(array,
|
||||
[ [ 'foo', 1, 2, 3 ],
|
||||
[ 'bar', { x: 1 } ],
|
||||
[ 'sub',
|
||||
[ [ 'childEvent', { some: 'data' } ],
|
||||
[ 'anotherone', { some: 'data' }, 'many', 'args' ],
|
||||
[ 'order', 'not', 'preserved between child and parent' ] ] ],
|
||||
[ 'blaz', 'blorrg' ] ])
|
||||
t.end()
|
||||
})
|
||||
|
||||
test('ignore nothing', function (t) {
|
||||
var emitter = new EE()
|
||||
var array = etoa(emitter)
|
||||
emitter.emit('foo', 1, 2, 3)
|
||||
emitter.emit('ignore', 'should see this')
|
||||
emitter.emit('bar', { x: 1 })
|
||||
t.same(array,
|
||||
[ [ 'foo', 1, 2, 3 ],
|
||||
[ 'ignore', 'should see this' ],
|
||||
[ 'bar', { x: 1 } ] ])
|
||||
|
||||
t.end()
|
||||
})
|
||||
|
||||
test('the map is not the territory', function (t) {
|
||||
var emitter = new EE()
|
||||
// cast all to strings
|
||||
var array = etoa(emitter, ['ignore'], function (arg) {
|
||||
return arg + ''
|
||||
})
|
||||
|
||||
emitter.emit('foo', new Buffer('hello'))
|
||||
var sub = new EE()
|
||||
emitter.emit('sub', sub)
|
||||
sub.emit('obj', { toString: function () { return 'toString fn' } })
|
||||
t.same(array,
|
||||
[ ['foo', 'hello' ],
|
||||
[ 'sub', [ [ 'obj', 'toString fn' ] ] ] ])
|
||||
t.end()
|
||||
})
|
||||
Reference in New Issue
Block a user