mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
38 lines
1.3 KiB
JavaScript
38 lines
1.3 KiB
JavaScript
var expect = require('chai').expect;
|
|
|
|
module.exports = function(helpers) {
|
|
|
|
|
|
var component = helpers.mount(require('./index'), {});
|
|
|
|
var oldButton1Component = component.getComponent('button1');
|
|
var oldButton2Component = component.getEl('button2').__component;
|
|
var oldButton1El = oldButton1Component.el;
|
|
var oldButton2El = component.getEl('button2');
|
|
|
|
expect(component.getComponent('button1').el.className).to.contain('normal');
|
|
|
|
var self = component;
|
|
|
|
self.setButtonSize('small');
|
|
self.update();
|
|
|
|
var newButton1El = component.getComponent('button1').el;
|
|
var newButton2El = component.getEl('button2');
|
|
|
|
// // Both button components should be reused
|
|
expect(component.getComponent('button1')).to.equal(oldButton1Component);
|
|
expect(component.getEl('button2').__component).to.equal(oldButton2Component);
|
|
|
|
expect(component.getComponent('button1').el.className).to.contain('small');
|
|
|
|
|
|
// // State changed for button1 so it should have a new el
|
|
// // since it re-renders to update its view
|
|
// console.log('newButton1El: ', newButton1El);
|
|
expect(newButton1El === oldButton1El).to.equal(true);
|
|
|
|
//
|
|
// // State didn't change for button2 so it should be the same el
|
|
expect(newButton2El).to.equal(oldButton2El);
|
|
}; |