Added ol.style.Icon#clone test
This commit is contained in:
@@ -181,18 +181,18 @@ ol.inherits(ol.style.Icon, ol.style.Image);
|
||||
ol.style.Icon.prototype.clone = function() {
|
||||
var useImg = (this.iconImage_.getImageState() === ol.Image.State.LOADED);
|
||||
return new ol.style.Icon({
|
||||
anchor: this.getAnchor().slice(0),
|
||||
anchorOrigin: this.anchorOrigin_.slice(0),
|
||||
anchor: this.anchor_.slice(0),
|
||||
anchorOrigin: this.anchorOrigin_,
|
||||
anchorXUnits: this.anchorXUnits_,
|
||||
anchorYUnits: this.anchorYUnits_,
|
||||
crossOrigin: this.crossOrigin_,
|
||||
color: this.color_.slice(0),
|
||||
color: this.color_ !== null ? this.color_.slice(0) : undefined,
|
||||
img: useImg ? this.getImage(1) : undefined,
|
||||
imgSize: useImg ? this.iconImage_.getSize().slice(0) : undefined,
|
||||
src: useImg ? undefined : this.getSrc(),
|
||||
offset: this.offset_.slice(0),
|
||||
offsetOrigin: this.offsetOrigin_,
|
||||
size: this.getSize().slice(0),
|
||||
size: this.size_ !== null ? this.size_.slice(0) : undefined,
|
||||
opacity: this.getOpacity(),
|
||||
scale: this.getScale(),
|
||||
snapToPixel: this.getSnapToPixel(),
|
||||
|
||||
@@ -18,7 +18,7 @@ describe('ol.style.Fill', function() {
|
||||
color: '#319FD3'
|
||||
});
|
||||
var clone = original.clone();
|
||||
expect(original.getColor()).to.be(clone.getColor());
|
||||
expect(original.getColor()).to.eql(clone.getColor());
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -38,6 +38,67 @@ describe('ol.style.Icon', function() {
|
||||
|
||||
});
|
||||
|
||||
describe('#clone', function() {
|
||||
|
||||
it('creates a new ol.style.Icon', function() {
|
||||
var original = new ol.style.Icon({
|
||||
src: src
|
||||
});
|
||||
var clone = original.clone();
|
||||
expect(clone instanceof ol.style.Icon).to.be(true);
|
||||
expect(clone).to.not.be(original);
|
||||
});
|
||||
|
||||
it('clones all values ', function() {
|
||||
var canvas = document.createElement('canvas');
|
||||
var original = new ol.style.Icon({
|
||||
anchor: [1, 0],
|
||||
anchorOrigin: 'bottom-right',
|
||||
anchorXUnits: 'pixels',
|
||||
anchorYUnits: 'pixels',
|
||||
color: '#319FD3',
|
||||
crossOrigin: 'Anonymous',
|
||||
img: canvas,
|
||||
imgSize: size,
|
||||
offset: [1, 2],
|
||||
offsetOrigin: 'bottom-left',
|
||||
opacity: 0.5,
|
||||
scale: 2,
|
||||
snapToPixel: false,
|
||||
rotation: 4,
|
||||
size: [10, 12]
|
||||
});
|
||||
|
||||
var clone = original.clone();
|
||||
expect(original.getAnchor()).to.not.be(clone.getAnchor());
|
||||
expect(original.getAnchor()).to.eql(clone.getAnchor());
|
||||
expect(original.anchorOrigin_).to.be(clone.anchorOrigin_);
|
||||
expect(original.anchorXUnits_).to.be(clone.anchorXUnits_);
|
||||
expect(original.anchorYUnits_).to.be(clone.anchorYUnits_);
|
||||
expect(original.crossOrigin_).to.be(clone.crossOrigin_);
|
||||
expect(original.color_).to.not.be(clone.color_);
|
||||
expect(original.color_).to.eql(clone.color_);
|
||||
expect(original.getImage(1).src).to.be(clone.getImage(1).src);
|
||||
expect(original.getImage(1).toDataURL()).to.be(original.getImage(1).toDataURL());
|
||||
expect(original.offset_).to.not.be(clone.offset_);
|
||||
expect(original.offset_).to.eql(clone.offset_);
|
||||
expect(original.offsetOrigin_).to.be(clone.offsetOrigin_);
|
||||
expect(original.getSize()).not.to.be(clone.getSize());
|
||||
expect(original.getSize()).to.eql(clone.getSize());
|
||||
expect(original.getSrc()).to.not.eql(clone.getSrc());
|
||||
expect(original.getOpacity()).to.be(clone.getOpacity());
|
||||
expect(original.getRotation()).to.be(clone.getRotation());
|
||||
expect(original.getRotateWithView()).to.be(clone.getRotateWithView());
|
||||
expect(original.getSnapToPixel()).to.be(clone.getSnapToPixel());
|
||||
|
||||
var original2 = new ol.style.Icon({
|
||||
src: src
|
||||
});
|
||||
var clone2 = original2.clone();
|
||||
expect(original2.getSrc()).to.be(clone2.getSrc());
|
||||
});
|
||||
});
|
||||
|
||||
describe('#getAnchor', function() {
|
||||
var fractionAnchor = [0.25, 0.25];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user