mutant
Version:
Create observables and map them to DOM elements. Massively inspired by hyperscript and observ-*. No virtual dom, just direct observable bindings. Unnecessary garbage collection is avoided by using mutable objects instead of blasting immutable junk all ove
31 lines (22 loc) • 637 B
JavaScript
require('setimmediate')
require('source-map-support').install()
var test = require('tape')
var MutantChannel = require('../channel')
test('channel', function(t) {
var channel = MutantChannel()
var emitted = []
var unwatch = channel.listen((value) => {
emitted.push(value)
})
channel.broadcast('value')
t.equal(emitted.length, 1, 'value received')
channel.broadcast('value2')
t.equal(emitted.length, 2, 'second value received')
unwatch()
channel.broadcast('value3')
t.equal(emitted.length, 2, 'no recieve after unwatch')
t.deepEqual(emitted, [
'value', 'value2'
], 'correct values')
t.end()
})