diff --git a/src/style_manager/model/Layers.js b/src/style_manager/model/Layers.js index 16833fefc..a5e8f3bd0 100644 --- a/src/style_manager/model/Layers.js +++ b/src/style_manager/model/Layers.js @@ -12,7 +12,6 @@ define([ 'backbone', './Layer'], }, onAdd: function(model, c, opts){ - //console.log(opts); if(!opts.noIncrement) model.set('index', this.idx++); }, diff --git a/src/style_manager/view/LayerView.js b/src/style_manager/view/LayerView.js index 6cfe582bb..79c8de7a1 100644 --- a/src/style_manager/view/LayerView.js +++ b/src/style_manager/view/LayerView.js @@ -162,7 +162,6 @@ define(['backbone', 'text!./../templates/layer.html'], }, render : function(){ - var i = this.getIndex(); this.$el.html( this.template({ label: 'Layer ' + this.model.get('index'), pfx: this.pfx, diff --git a/src/utils/Sorter.js b/src/utils/Sorter.js index aed7d3b59..099b3e3d2 100644 --- a/src/utils/Sorter.js +++ b/src/utils/Sorter.js @@ -356,12 +356,9 @@ define(['backbone'], /** * Move component to new position - * @param {Object} Component to move - * @param {Object} Target component - * @param {Integer} Indicates the position inside the collection - * @param {String} Before of after component - * - * @return void + * @param {HTMLElement} dst Destination target + * @param {HTMLElement} src Element to move + * @param {Object} pos Object with position coordinates * */ move: function(dst, src, pos){ var index = pos.index; diff --git a/test/specs/style_manager/model/Models.js b/test/specs/style_manager/model/Models.js index ecbc18b8b..3e2a421a4 100644 --- a/test/specs/style_manager/model/Models.js +++ b/test/specs/style_manager/model/Models.js @@ -163,6 +163,13 @@ define([path + 'Sector', model3.get('index').should.equal(3); }); + it('Reset index on reset', function() { + var model = obj.add({}); + var model2 = obj.add({}); + obj.reset(); + obj.idx.should.equal(1); + }); + }); } diff --git a/test/specs/style_manager/view/LayerView.js b/test/specs/style_manager/view/LayerView.js index f7aa3dc21..db5d2ca9e 100644 --- a/test/specs/style_manager/view/LayerView.js +++ b/test/specs/style_manager/view/LayerView.js @@ -54,24 +54,17 @@ define([path + 'LayerView', 'StyleManager/model/Layers'], view.getIndex().should.equal(0); }); - it('Destroy element', function() { - view.model.destroy(); - }); - it('No preview', function() { var style = view.el.querySelector('#preview').style; style.cssText.should.be.empty; }); - it.skip('Changes on valuePreview update preview box', function() { - var layerProp = 'color'; - var layerPrevValue = 'red'; + it('Changes on value trigger onPreview', function() { + var called = 0; + view.onPreview = function(){called = 1}; view.model.set('preview', true); - view.model.set('propertyPreview', layerProp); - view.model.set('valuePreview', layerPrevValue); - var preview = view.el.querySelector('#preview'); - var style = preview.style; - style[layerProp].should.equal(layerPrevValue); + view.model.set('value', 'test'); + called.should.equal(1); }); it('Update props', function() { diff --git a/test/specs/utils/Sorter.js b/test/specs/utils/Sorter.js index d98578cec..fdc7a3213 100644 --- a/test/specs/utils/Sorter.js +++ b/test/specs/utils/Sorter.js @@ -6,17 +6,28 @@ define([path + 'Sorter',], run : function(){ describe('Sorter', function() { + var fixtures; + var fixture; var obj; var parent; + var plh; + + before(function () { + fixture = $('
').get(0); + }); beforeEach(function () { parent = document.createElement('div'); parent.setAttribute('class', 'parent1'); + plh = document.createElement('div'); document.body.appendChild(parent); obj = new Sorter({container: '.parent1'}); + document.body.appendChild(fixture); + fixture.appendChild(parent); }); afterEach(function () { + document.body.removeChild(fixture); delete obj; }); @@ -84,6 +95,7 @@ define([path + 'Sorter',], describe('With elements', function() { + var vertDims; var parent2; var parent3; var sib1; @@ -121,20 +133,30 @@ define([path + 'Sorter',], el.appendChild(sib2); el.appendChild(sib3); el.appendChild(sib4); + + vertDims = [ + [0, 0, 50, 100, true], + [50, 0, 50, 100, true], + [100, 0, 50, 100, true], + [150, 0, 50, 70, true], + ]; }); it('startSort inits correctly inits', function() { obj.startSort(el); + obj.moved.should.equal(0); obj.plh.style.display.should.equal('none'); }); - it.skip('onMove', function() { + it('onMove', function() { + var target = document.createElement('div'); obj.startSort(el); obj.onMove({ pageX: 0, pageY: 0, + target: target }); - obj.plh.style.display.should.equal('block'); + obj.moved.should.equal(1); }); it('getDim from element', function() { @@ -230,15 +252,7 @@ define([path + 'Sorter',], describe('findPosition', function() { - var dimsTree; - beforeEach(function () { - vertDims = [ - [0, 0, 50, 100, true], - [50, 0, 50, 100, true], - [100, 0, 50, 100, true], - [150, 0, 50, 70, true], - ]; }); it('Vertical dimensions', function() { @@ -264,11 +278,35 @@ define([path + 'Sorter',], }); - it.skip('movePlaceholder', function() { - }); + describe('movePlaceholder', function() { + + beforeEach(function () { + vertDims = [ + [0, 10, 50, 100, true], + [50, 20, 50, 70, true], + [100, 30, 50, 100, true], + [150, 40, 50, 70, true], + ]; + }); + + it('Vertical dimensions with before position', function() { + var pos = {index: 2, method: 'before'}; + obj.movePlaceholder(plh, vertDims, pos); + var style = plh.style; + style.top.should.equal('100px'); + style.left.should.equal('30px'); + style.width.should.equal('100px'); + }); + + it('Vertical dimensions with after position', function() { + var pos = {index: 1, method: 'after'}; + obj.movePlaceholder(plh, vertDims, pos); + var style = plh.style; + style.top.should.equal('100px'); + style.left.should.equal('20px'); + style.width.should.equal('70px'); + }); - it.skip('move', function() { - obj.move(el).should.equal('test'); }); });