diff --git a/test/spec/ol/style/circle.test.js b/test/spec/ol/style/circle.test.js index 63c48ee653..8bb95568d7 100644 --- a/test/spec/ol/style/circle.test.js +++ b/test/spec/ol/style/circle.test.js @@ -76,6 +76,40 @@ describe('ol.style.Circle', function() { }); }); + describe('#clone', function() { + + it('creates a new ol.style.Circle', function() { + var original = new ol.style.Circle(); + var clone = original.clone(); + expect(clone instanceof ol.style.Circle).to.eql(true); + expect(clone).to.not.be(original); + }); + + it('clones all values', function() { + var original = new ol.style.Circle({ + fill: new ol.style.Fill({ + color: '#319FD3' + }), + stroke: new ol.style.Stroke({ + color: '#319FD3' + }), + radius: 5, + snapToPixel: false + }); + original.setOpacity(0.5); + original.setScale(1.5); + var clone = original.clone(); + expect(original.getFill()).to.not.be(clone.getFill()); + expect(original.getFill().getColor()).to.eql(clone.getFill().getColor()); + expect(original.getOpacity()).to.be(clone.getOpacity()); + expect(original.getRadius()).to.be(clone.getRadius()); + expect(original.getScale()).to.be(clone.getScale()); + expect(original.getSnapToPixel()).to.be(clone.getSnapToPixel()); + expect(original.getStroke()).to.not.be(clone.getStroke()); + expect(original.getStroke().getColor()).to.eql(clone.getStroke().getColor()); + }); + }); + describe('#getChecksum', function() { it('calculates the same hash code for default options', function() { diff --git a/test/spec/ol/style/fill.test.js b/test/spec/ol/style/fill.test.js new file mode 100644 index 0000000000..65579e4f58 --- /dev/null +++ b/test/spec/ol/style/fill.test.js @@ -0,0 +1,24 @@ +goog.provide('ol.test.style.Fill'); + +goog.require('ol.style.Fill'); + +describe('ol.style.Fill', function() { + + describe('#clone', function() { + + it('creates a new ol.style.Fill', function() { + var original = new ol.style.Fill(); + var clone = original.clone(); + expect(clone instanceof ol.style.Fill).to.eql(true); + expect(clone).to.not.be(original); + }); + + it('clones all values', function() { + var original = new ol.style.Fill({ + color: '#319FD3' + }); + var clone = original.clone(); + expect(original.getColor()).to.be(clone.getColor()); + }); + }); +}); diff --git a/test/spec/ol/style/stroke.test.js b/test/spec/ol/style/stroke.test.js new file mode 100644 index 0000000000..239e9a7b11 --- /dev/null +++ b/test/spec/ol/style/stroke.test.js @@ -0,0 +1,35 @@ +goog.provide('ol.test.style.Stroke'); + +goog.require('ol.style.Stroke'); + +describe('ol.style.Stroke', function() { + + describe('#clone', function() { + + it('creates a new ol.style.Stroke', function() { + var original = new ol.style.Stroke(); + var clone = original.clone(); + expect(clone instanceof ol.style.Stroke).to.eql(true); + expect(clone).to.not.be(original); + }); + + it('clones all values', function() { + var original = new ol.style.Stroke({ + color: '#319FD3', + lineCap: 'square', + lineJoin: 'miter', + lineDash: [1,2,3], + miterLimit: 20, + width: 5 + }); + var clone = original.clone(); + expect(original.getColor()).to.eql(clone.getColor()); + expect(original.getLineCap()).to.be(clone.getLineCap()); + expect(original.getLineJoin()).to.be(clone.getLineJoin()); + expect(original.getLineDash()).not.to.be(clone.getLineDash()); + expect(original.getLineDash()).to.eql(clone.getLineDash()); + expect(original.getMiterLimit()).to.be(clone.getMiterLimit()); + expect(original.getWidth()).to.be(clone.getWidth()); + }); + }); +});