UNPKG

marko-widgets

Version:

Module to support binding of behavior to rendered UI components rendered on the server or client

52 lines (42 loc) 1.29 kB
var expect = require('chai').expect; module.exports = function(helpers) { var widget = helpers.mount(require('./index'), { name: 'Frank', messageCount: 10 }); var targetEl = helpers.targetEl; expect(targetEl.innerHTML).to.contain('Hello Frank! You have 10 new messages.'); expect(widget.lifecycleEvents).to.deep.equal([ 'init', 'onRender:firstRender' ]); require('marko-widgets').batchUpdate(function() { widget.setProps({ name: 'Jane', messageCount: 30 }); expect(targetEl.innerHTML).to.contain('Hello Frank! You have 10 new messages.'); expect(widget.lifecycleEvents).to.deep.equal([ 'init', 'onRender:firstRender' ]); }); expect(targetEl.innerHTML).to.contain('Hello Jane! You have 30 new messages.'); expect(widget.lifecycleEvents).to.deep.equal([ 'init', 'onRender:firstRender', 'onBeforeUpdate', 'onUpdate', 'onRender' ]); widget.destroy(); expect(widget.lifecycleEvents).to.deep.equal([ 'init', 'onRender:firstRender', 'onBeforeUpdate', 'onUpdate', 'onRender', 'onBeforeDestroy', 'onDestroy' ]); };