mercury
Version:
A truly modular frontend framework
42 lines (31 loc) • 864 B
JavaScript
;
var mercury = require('../index.js');
var h = mercury.h;
var event = require('synthetic-dom-events');
var document = require('global/document');
var test = require('tape');
test('events happen', function t(assert) {
var callCount = 0;
var click = mercury.input();
click(function onClick() {
callCount++;
});
function render(onClick) {
return h('button', {
'ev-click': mercury.event(onClick)
}, 'Click Me');
}
var div = document.createElement('div');
mercury.app(div, mercury.value(click), render, {
document: document
});
document.body.appendChild(div);
// action
div.childNodes[0].dispatchEvent(
event('click', {bubbles: true})
);
// assert
assert.equal(callCount, 1);
document.body.removeChild(div);
assert.end();
});