Patrick Steele-Idem 2be98636ea Fixes #817 - Support dynamic root elements
[Optimizations] Simplified bookkeeping for component tree
A component stack is no longer used

Small API improvements

Improved how component boundaries are managed

Assign keys to all HTML elements and custom tags for better diffing

Checking in progress

Just build the src when calculating size
2017-09-08 12:32:17 -06:00

37 lines
1.2 KiB
JavaScript

var expect = require('chai').expect;
module.exports = function(helpers) {
var widget = helpers.mount(require('./index'), {});
var oldButton1Widget = widget.getWidget('button1');
var oldButton2Widget = widget.getWidget('button2');
var oldButton1El = oldButton1Widget.el;
var oldButton2El = widget.getEl('button2');
expect(widget.getWidget('button1').el.innerHTML).to.equal('normal');
var self = widget;
self.setButtonSize('small');
self.rerender();
var newButton1El = widget.getWidget('button1').el;
var newButton2El = widget.getEl('button2');
// // Both button widgets should be reused
expect(widget.getWidget('button1')).to.equal(oldButton1Widget);
expect(widget.getWidget('button2')).to.equal(oldButton2Widget);
expect(widget.getWidget('button1').el.innerHTML).to.equal('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);
};