Browse Source

Fix style manager regressions

pull/187/head
Artur Arseniev 9 years ago
parent
commit
c30daede90
  1. 6
      src/style_manager/view/SectorsView.js
  2. 1
      test/specs/style_manager/model/Models.js
  3. 6
      test/specs/style_manager/view/PropertyColorView.js
  4. 6
      test/specs/style_manager/view/PropertyIntegerView.js
  5. 6
      test/specs/style_manager/view/PropertyRadioView.js
  6. 7
      test/specs/style_manager/view/PropertySelectView.js
  7. 25
      test/specs/style_manager/view/PropertyView.js

6
src/style_manager/view/SectorsView.js

@ -49,9 +49,13 @@ module.exports = Backbone.View.extend({
var mediaText = device && !previewMode && widthMedia ? var mediaText = device && !previewMode && widthMedia ?
`(${config.mediaCondition}: ${widthMedia})` : ''; `(${config.mediaCondition}: ${widthMedia})` : '';
var stateStr = state ? `:${state}` : null; var stateStr = state ? `:${state}` : null;
pt.computed = window.getComputedStyle(el.view.el, stateStr); var view = el.view;
pt.helper = null; pt.helper = null;
if (view) {
pt.computed = window.getComputedStyle(view.el, stateStr);
}
if(classes.length){ if(classes.length){
var cssC = em.get('CssComposer'); var cssC = em.get('CssComposer');
var valid = _.filter(classes.models, item => item.get('active')); var valid = _.filter(classes.models, item => item.get('active'));

1
test/specs/style_manager/model/Models.js

@ -522,6 +522,7 @@ module.exports = {
var res = { var res = {
type: 'stack', type: 'stack',
preview: true, preview: true,
defaults: "none",
properties : [{ properties : [{
property: 'text-shadow-h', property: 'text-shadow-h',
type: 'integer', type: 'integer',

6
test/specs/style_manager/view/PropertyColorView.js

@ -13,6 +13,7 @@ module.exports = {
var target; var target;
var model; var model;
var view; var view;
var propTarget;
var propName = 'testprop'; var propName = 'testprop';
var propValue = '#fff'; var propValue = '#fff';
var defValue = 'test2value'; var defValue = 'test2value';
@ -30,8 +31,11 @@ module.exports = {
type: 'color', type: 'color',
property: propName property: propName
}); });
propTarget = Object.assign({}, Backbone.Events);
propTarget.model = component;
view = new PropertyColorView({ view = new PropertyColorView({
model model,
propTarget
}); });
$fixture.empty().appendTo($fixtures); $fixture.empty().appendTo($fixtures);
$fixture.html(view.render().el); $fixture.html(view.render().el);

6
test/specs/style_manager/view/PropertyIntegerView.js

@ -13,6 +13,7 @@ module.exports = {
var target; var target;
var model; var model;
var view; var view;
var propTarget;
var propName = 'testprop'; var propName = 'testprop';
var intValue = '55'; var intValue = '55';
var unitValue = 'px'; var unitValue = 'px';
@ -36,8 +37,11 @@ module.exports = {
units, units,
property: propName property: propName
}); });
propTarget = Object.assign({}, Backbone.Events);
propTarget.model = component;
view = new PropertyIntegerView({ view = new PropertyIntegerView({
model model,
propTarget
}); });
$fixture.empty().appendTo($fixtures); $fixture.empty().appendTo($fixtures);
$fixture.html(view.render().el); $fixture.html(view.render().el);

6
test/specs/style_manager/view/PropertyRadioView.js

@ -13,6 +13,7 @@ module.exports = {
var target; var target;
var model; var model;
var view; var view;
var propTarget;
var propName = 'testprop'; var propName = 'testprop';
var propValue = 'test1value'; var propValue = 'test1value';
var defValue = 'test2value'; var defValue = 'test2value';
@ -34,8 +35,11 @@ module.exports = {
list: options, list: options,
property: propName property: propName
}); });
propTarget = Object.assign({}, Backbone.Events);
propTarget.model = component;
view = new PropertyRadioView({ view = new PropertyRadioView({
model model,
propTarget
}); });
$fixture.empty().appendTo($fixtures); $fixture.empty().appendTo($fixtures);
$fixture.html(view.render().el); $fixture.html(view.render().el);

7
test/specs/style_manager/view/PropertySelectView.js

@ -13,6 +13,8 @@ module.exports = {
var target; var target;
var model; var model;
var view; var view;
var propTarget;
var options;
var propName = 'testprop'; var propName = 'testprop';
var propValue = 'test1value'; var propValue = 'test1value';
var defValue = 'test2value'; var defValue = 'test2value';
@ -27,6 +29,7 @@ module.exports = {
}); });
beforeEach(() => { beforeEach(() => {
propTarget = Object.assign({}, Backbone.Events);
target = new Component(); target = new Component();
component = new Component(); component = new Component();
model = new Property({ model = new Property({
@ -34,8 +37,10 @@ module.exports = {
list: options, list: options,
property: propName property: propName
}); });
propTarget.model = component;
view = new PropertySelectView({ view = new PropertySelectView({
model model,
propTarget
}); });
$fixture.empty().appendTo($fixtures); $fixture.empty().appendTo($fixtures);
$fixture.html(view.render().el); $fixture.html(view.render().el);

25
test/specs/style_manager/view/PropertyView.js

@ -13,6 +13,8 @@ module.exports = {
var target; var target;
var model; var model;
var view; var view;
var propTarget;
var options;
var propName = 'testprop'; var propName = 'testprop';
var propValue = 'testvalue'; var propValue = 'testvalue';
var defValue = 'testDefault'; var defValue = 'testDefault';
@ -23,12 +25,16 @@ module.exports = {
}); });
beforeEach(() => { beforeEach(() => {
propTarget = Object.assign({}, Backbone.Events);
target = new Component(); target = new Component();
component = new Component(); component = new Component();
model = new Property({property: propName}); model = new Property({property: propName});
view = new PropertyView({ propTarget.model = component;
model options = {
}); model,
propTarget
};
view = new PropertyView(options);
$fixture.empty().appendTo($fixtures); $fixture.empty().appendTo($fixtures);
$fixture.html(view.render().el); $fixture.html(view.render().el);
}); });
@ -82,34 +88,30 @@ module.exports = {
}); });
it('Update target on value change', () => { it('Update target on value change', () => {
view.selectedComponent = component;
view.model.set('value', propValue); view.model.set('value', propValue);
var compStyle = view.selectedComponent.get('style'); var compStyle = view.getTargetModel().get('style');
var assertStyle = {}; var assertStyle = {};
assertStyle[propName] = propValue; assertStyle[propName] = propValue;
expect(compStyle).toEqual(assertStyle); expect(compStyle).toEqual(assertStyle);
}); });
it('Update target on value change with functionName', () => { it('Update target on value change with functionName', () => {
view.selectedComponent = component;
view.model.set('functionName', 'testfunc'); view.model.set('functionName', 'testfunc');
view.model.set('value', propValue); view.model.set('value', propValue);
var compStyle = view.selectedComponent.get('style'); var compStyle = view.getTargetModel().get('style');
var assertStyle = {}; var assertStyle = {};
assertStyle[propName] = 'testfunc(' + propValue + ')'; assertStyle[propName] = 'testfunc(' + propValue + ')';
expect(compStyle).toEqual(assertStyle); expect(compStyle).toEqual(assertStyle);
}); });
it('Clean target from the property if its value is empty', () => { it('Clean target from the property if its value is empty', () => {
view.selectedComponent = component;
view.model.set('value', propValue); view.model.set('value', propValue);
view.model.set('value', ''); view.model.set('value', '');
var compStyle = view.selectedComponent.get('style'); var compStyle = view.getTargetModel().get('style');
expect(compStyle).toEqual({}); expect(compStyle).toEqual({});
}); });
it('Check stylable element', () => { it('Check stylable element', () => {
view.selectedComponent = component;
expect(view.isTargetStylable()).toEqual(true); expect(view.isTargetStylable()).toEqual(true);
component.set('stylable', false); component.set('stylable', false);
expect(view.isTargetStylable()).toEqual(false); expect(view.isTargetStylable()).toEqual(false);
@ -122,12 +124,10 @@ module.exports = {
}); });
it('Target style is empty without values', () => { it('Target style is empty without values', () => {
view.selectedComponent = component;
expect(view.getComponentValue()).toNotExist(); expect(view.getComponentValue()).toNotExist();
}); });
it('Target style is correct', () => { it('Target style is correct', () => {
view.selectedComponent = component;
var style = {}; var style = {};
style[propName] = propValue; style[propName] = propValue;
component.set('style', style); component.set('style', style);
@ -135,7 +135,6 @@ module.exports = {
}); });
it('Target style is empty with an other style', () => { it('Target style is empty with an other style', () => {
view.selectedComponent = component;
var style = {}; var style = {};
style[propName + '2'] = propValue; style[propName + '2'] = propValue;
component.set('style', style); component.set('style', style);

Loading…
Cancel
Save