mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
var expect = require('chai').expect;
|
|
var pubsub = require('~/util/pubsub');
|
|
|
|
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'));
|
|
|
|
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');
|
|
}; |