marko-widgets
Version:
Module to support binding of behavior to rendered UI components rendered on the server or client
35 lines (27 loc) • 1.07 kB
JavaScript
var expect = require('chai').expect;
module.exports = function(helpers) {
var widget = helpers.mount(require('./index'), {});
var received1 = [];
var received2 = [];
widget.handleTestEvent1 = function() {
received1.push({
args: arguments,
widget: arguments[arguments.length -1]
});
};
widget.handleTestEvent2 = function() {
received2.push({
args: arguments,
widget: arguments[arguments.length -1]
});
};
widget.getWidget('customEvents').emitTestEvent1();
expect(received1.length).to.equal(1);
expect(received1[0].args.length).to.equal(3); // ['a', 'b', sourceWidget]
expect(received1[0].widget).to.equal(widget.getWidget('customEvents'));
require('raptor-pubsub').channel('customEvents-' + widget.id).emit('emitTestEvent2');
expect(received1.length).to.equal(1);
expect(received2.length).to.equal(1);
expect(received2[0].args.length).to.equal(1); // [sourceWidget]
expect(received2[0].widget).to.be.an('object');
};