Added remaining tests
This commit is contained in:
@@ -163,9 +163,8 @@ ol.style.RegularShape.prototype.clone = function() {
|
|||||||
rotateWithView: this.getRotateWithView(),
|
rotateWithView: this.getRotateWithView(),
|
||||||
atlasManager: this.atlasManager_
|
atlasManager: this.atlasManager_
|
||||||
});
|
});
|
||||||
|
style.setOpacity(this.getOpacity());
|
||||||
this.setOpacity(this.getOpacity());
|
style.setScale(this.getScale());
|
||||||
this.setScale(this.getScale());
|
|
||||||
return style;
|
return style;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -432,11 +431,12 @@ ol.style.RegularShape.prototype.draw_ = function(renderOptions, context, x, y) {
|
|||||||
context.translate(x, y);
|
context.translate(x, y);
|
||||||
|
|
||||||
context.beginPath();
|
context.beginPath();
|
||||||
|
var points = this.points_;
|
||||||
if (this.radius2_ !== this.radius_) {
|
if (this.radius2_ !== this.radius_) {
|
||||||
this.points_ = 2 * this.points_;
|
points = 2 * points;
|
||||||
}
|
}
|
||||||
for (i = 0; i <= this.points_; i++) {
|
for (i = 0; i <= points; i++) {
|
||||||
angle0 = i * 2 * Math.PI / this.points_ - Math.PI / 2 + this.angle_;
|
angle0 = i * 2 * Math.PI / points - Math.PI / 2 + this.angle_;
|
||||||
radiusC = i % 2 === 0 ? this.radius_ : this.radius2_;
|
radiusC = i % 2 === 0 ? this.radius_ : this.radius2_;
|
||||||
context.lineTo(renderOptions.size / 2 + radiusC * Math.cos(angle0),
|
context.lineTo(renderOptions.size / 2 + radiusC * Math.cos(angle0),
|
||||||
renderOptions.size / 2 + radiusC * Math.sin(angle0));
|
renderOptions.size / 2 + radiusC * Math.sin(angle0));
|
||||||
@@ -496,12 +496,13 @@ ol.style.RegularShape.prototype.drawHitDetectionCanvas_ = function(renderOptions
|
|||||||
context.translate(x, y);
|
context.translate(x, y);
|
||||||
|
|
||||||
context.beginPath();
|
context.beginPath();
|
||||||
|
var points = this.points_;
|
||||||
if (this.radius2_ !== this.radius_) {
|
if (this.radius2_ !== this.radius_) {
|
||||||
this.points_ = 2 * this.points_;
|
points = 2 * points;
|
||||||
}
|
}
|
||||||
var i, radiusC, angle0;
|
var i, radiusC, angle0;
|
||||||
for (i = 0; i <= this.points_; i++) {
|
for (i = 0; i <= points; i++) {
|
||||||
angle0 = i * 2 * Math.PI / this.points_ - Math.PI / 2 + this.angle_;
|
angle0 = i * 2 * Math.PI / points - Math.PI / 2 + this.angle_;
|
||||||
radiusC = i % 2 === 0 ? this.radius_ : this.radius2_;
|
radiusC = i % 2 === 0 ? this.radius_ : this.radius2_;
|
||||||
context.lineTo(renderOptions.size / 2 + radiusC * Math.cos(angle0),
|
context.lineTo(renderOptions.size / 2 + radiusC * Math.cos(angle0),
|
||||||
renderOptions.size / 2 + radiusC * Math.sin(angle0));
|
renderOptions.size / 2 + radiusC * Math.sin(angle0));
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ ol.style.Style.prototype.clone = function() {
|
|||||||
return new ol.style.Style({
|
return new ol.style.Style({
|
||||||
geometry: geometry,
|
geometry: geometry,
|
||||||
fill: this.getFill() ? this.getFill().clone() : undefined,
|
fill: this.getFill() ? this.getFill().clone() : undefined,
|
||||||
|
image: this.getImage() ? this.getImage().clone() : undefined,
|
||||||
stroke: this.getStroke() ? this.getStroke().clone() : undefined,
|
stroke: this.getStroke() ? this.getStroke().clone() : undefined,
|
||||||
text: this.getText() ? this.getText().clone() : undefined,
|
text: this.getText() ? this.getText().clone() : undefined,
|
||||||
zIndex: this.getZIndex()
|
zIndex: this.getZIndex()
|
||||||
|
|||||||
@@ -81,11 +81,11 @@ describe('ol.style.Circle', function() {
|
|||||||
it('creates a new ol.style.Circle', function() {
|
it('creates a new ol.style.Circle', function() {
|
||||||
var original = new ol.style.Circle();
|
var original = new ol.style.Circle();
|
||||||
var clone = original.clone();
|
var clone = original.clone();
|
||||||
expect(clone instanceof ol.style.Circle).to.eql(true);
|
expect(clone).to.be.an(ol.style.Circle);
|
||||||
expect(clone).to.not.be(original);
|
expect(clone).to.not.be(original);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('clones all values', function() {
|
it('copies all values', function() {
|
||||||
var original = new ol.style.Circle({
|
var original = new ol.style.Circle({
|
||||||
fill: new ol.style.Fill({
|
fill: new ol.style.Fill({
|
||||||
color: '#319FD3'
|
color: '#319FD3'
|
||||||
@@ -99,15 +99,33 @@ describe('ol.style.Circle', function() {
|
|||||||
original.setOpacity(0.5);
|
original.setOpacity(0.5);
|
||||||
original.setScale(1.5);
|
original.setScale(1.5);
|
||||||
var clone = original.clone();
|
var clone = original.clone();
|
||||||
expect(original.getFill()).to.not.be(clone.getFill());
|
|
||||||
expect(original.getFill().getColor()).to.eql(clone.getFill().getColor());
|
expect(original.getFill().getColor()).to.eql(clone.getFill().getColor());
|
||||||
expect(original.getOpacity()).to.be(clone.getOpacity());
|
expect(original.getOpacity()).to.be(clone.getOpacity());
|
||||||
expect(original.getRadius()).to.be(clone.getRadius());
|
expect(original.getRadius()).to.be(clone.getRadius());
|
||||||
expect(original.getScale()).to.be(clone.getScale());
|
expect(original.getScale()).to.be(clone.getScale());
|
||||||
expect(original.getSnapToPixel()).to.be(clone.getSnapToPixel());
|
expect(original.getSnapToPixel()).to.be(clone.getSnapToPixel());
|
||||||
expect(original.getStroke()).to.not.be(clone.getStroke());
|
|
||||||
expect(original.getStroke().getColor()).to.eql(clone.getStroke().getColor());
|
expect(original.getStroke().getColor()).to.eql(clone.getStroke().getColor());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('the clone does not reference the same objects as the original', function() {
|
||||||
|
var original = new ol.style.Circle({
|
||||||
|
fill: new ol.style.Fill({
|
||||||
|
color: '#319FD3'
|
||||||
|
}),
|
||||||
|
stroke: new ol.style.Stroke({
|
||||||
|
color: '#319FD3'
|
||||||
|
})
|
||||||
|
});
|
||||||
|
var clone = original.clone();
|
||||||
|
expect(original.getFill()).to.not.be(clone.getFill());
|
||||||
|
expect(original.getStroke()).to.not.be(clone.getStroke());
|
||||||
|
|
||||||
|
clone.getFill().setColor('#012345');
|
||||||
|
clone.getStroke().setColor('#012345');
|
||||||
|
expect(original.getFill().getColor()).to.not.eql(clone.getFill().getColor());
|
||||||
|
expect(original.getStroke().getColor()).to.not.eql(clone.getStroke().getColor());
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#getChecksum', function() {
|
describe('#getChecksum', function() {
|
||||||
|
|||||||
@@ -9,16 +9,28 @@ describe('ol.style.Fill', function() {
|
|||||||
it('creates a new ol.style.Fill', function() {
|
it('creates a new ol.style.Fill', function() {
|
||||||
var original = new ol.style.Fill();
|
var original = new ol.style.Fill();
|
||||||
var clone = original.clone();
|
var clone = original.clone();
|
||||||
expect(clone instanceof ol.style.Fill).to.eql(true);
|
expect(clone).to.be.an(ol.style.Fill);
|
||||||
expect(clone).to.not.be(original);
|
expect(clone).to.not.be(original);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('clones all values', function() {
|
it('copies all values', function() {
|
||||||
var original = new ol.style.Fill({
|
var original = new ol.style.Fill({
|
||||||
color: '#319FD3'
|
color: '#319FD3'
|
||||||
});
|
});
|
||||||
var clone = original.clone();
|
var clone = original.clone();
|
||||||
expect(original.getColor()).to.eql(clone.getColor());
|
expect(original.getColor()).to.eql(clone.getColor());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('the clone does not reference the same objects as the original', function() {
|
||||||
|
var original = new ol.style.Fill({
|
||||||
|
color: [63, 255, 127, 0.7]
|
||||||
|
});
|
||||||
|
var clone = original.clone();
|
||||||
|
expect(original.getColor()).to.not.be(clone.getColor());
|
||||||
|
|
||||||
|
clone.getColor()[2] = 0;
|
||||||
|
expect(original.getColor()).to.not.eql(clone.getColor());
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -45,11 +45,11 @@ describe('ol.style.Icon', function() {
|
|||||||
src: src
|
src: src
|
||||||
});
|
});
|
||||||
var clone = original.clone();
|
var clone = original.clone();
|
||||||
expect(clone instanceof ol.style.Icon).to.be(true);
|
expect(clone).to.be.an(ol.style.Icon);
|
||||||
expect(clone).to.not.be(original);
|
expect(clone).to.not.be(original);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('clones all values ', function() {
|
it('copies all values ', function() {
|
||||||
var canvas = document.createElement('canvas');
|
var canvas = document.createElement('canvas');
|
||||||
var original = new ol.style.Icon({
|
var original = new ol.style.Icon({
|
||||||
anchor: [1, 0],
|
anchor: [1, 0],
|
||||||
@@ -70,23 +70,18 @@ describe('ol.style.Icon', function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
var clone = original.clone();
|
var clone = original.clone();
|
||||||
expect(original.getAnchor()).to.not.be(clone.getAnchor());
|
|
||||||
expect(original.getAnchor()).to.eql(clone.getAnchor());
|
expect(original.getAnchor()).to.eql(clone.getAnchor());
|
||||||
expect(original.anchorOrigin_).to.be(clone.anchorOrigin_);
|
expect(original.anchorOrigin_).to.be(clone.anchorOrigin_);
|
||||||
expect(original.anchorXUnits_).to.be(clone.anchorXUnits_);
|
expect(original.anchorXUnits_).to.be(clone.anchorXUnits_);
|
||||||
expect(original.anchorYUnits_).to.be(clone.anchorYUnits_);
|
expect(original.anchorYUnits_).to.be(clone.anchorYUnits_);
|
||||||
expect(original.crossOrigin_).to.be(clone.crossOrigin_);
|
expect(original.crossOrigin_).to.be(clone.crossOrigin_);
|
||||||
expect(original.color_).to.not.be(clone.color_);
|
|
||||||
expect(original.color_).to.eql(clone.color_);
|
expect(original.color_).to.eql(clone.color_);
|
||||||
expect(original.getImage(1)).not.to.be(clone.getImage(1));
|
|
||||||
expect(original.getImage(1).src).to.be(clone.getImage(1).src);
|
expect(original.getImage(1).src).to.be(clone.getImage(1).src);
|
||||||
expect(original.getImage(1).toDataURL()).to.be(original.getImage(1).toDataURL());
|
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.offset_).to.eql(clone.offset_);
|
||||||
expect(original.offsetOrigin_).to.be(clone.offsetOrigin_);
|
expect(original.offsetOrigin_).to.be(clone.offsetOrigin_);
|
||||||
expect(original.getSize()).not.to.be(clone.getSize());
|
|
||||||
expect(original.getSize()).to.eql(clone.getSize());
|
expect(original.getSize()).to.eql(clone.getSize());
|
||||||
expect(original.getSrc()).to.not.eql(clone.getSrc());
|
expect(original.getSrc()).not.to.eql(clone.getSrc());
|
||||||
expect(original.getOpacity()).to.be(clone.getOpacity());
|
expect(original.getOpacity()).to.be(clone.getOpacity());
|
||||||
expect(original.getRotation()).to.be(clone.getRotation());
|
expect(original.getRotation()).to.be(clone.getRotation());
|
||||||
expect(original.getRotateWithView()).to.be(clone.getRotateWithView());
|
expect(original.getRotateWithView()).to.be(clone.getRotateWithView());
|
||||||
@@ -98,6 +93,35 @@ describe('ol.style.Icon', function() {
|
|||||||
var clone2 = original2.clone();
|
var clone2 = original2.clone();
|
||||||
expect(original2.getSrc()).to.be(clone2.getSrc());
|
expect(original2.getSrc()).to.be(clone2.getSrc());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('the clone does not reference the same objects as the original', function() {
|
||||||
|
var canvas = document.createElement('canvas');
|
||||||
|
var original = new ol.style.Icon({
|
||||||
|
anchor: [1, 0],
|
||||||
|
color: [1, 2, 3, 0.4],
|
||||||
|
img: canvas,
|
||||||
|
imgSize: size,
|
||||||
|
offset: [1, 2],
|
||||||
|
size: [10, 12]
|
||||||
|
});
|
||||||
|
var clone = original.clone();
|
||||||
|
expect(original.getAnchor()).not.to.be(clone.getAnchor());
|
||||||
|
expect(original.getImage(1)).not.to.be(clone.getImage(1));
|
||||||
|
expect(original.offset_).not.to.be(clone.offset_);
|
||||||
|
expect(original.color_).not.to.be(clone.color_);
|
||||||
|
expect(original.getSize()).not.to.be(clone.getSize());
|
||||||
|
|
||||||
|
clone.anchor_[0] = 0;
|
||||||
|
clone.getImage(1).width = 50;
|
||||||
|
clone.offset_[0] = 0;
|
||||||
|
clone.color_[0] = 0;
|
||||||
|
clone.size_[0] = 5;
|
||||||
|
expect(original.anchor_).not.to.eql(clone.anchor_);
|
||||||
|
expect(original.getImage(1).width).not.to.eql(clone.getImage(1).width);
|
||||||
|
expect(original.offset_).not.to.eql(clone.offset_);
|
||||||
|
expect(original.color_).not.to.eql(clone.color_);
|
||||||
|
expect(original.size_).not.to.eql(clone.size_);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('#getAnchor', function() {
|
describe('#getAnchor', function() {
|
||||||
|
|||||||
@@ -119,6 +119,69 @@ describe('ol.style.RegularShape', function() {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('#clone', function() {
|
||||||
|
|
||||||
|
it('creates a new ol.style.RegularShape', function() {
|
||||||
|
var original = new ol.style.RegularShape({
|
||||||
|
points: 5
|
||||||
|
});
|
||||||
|
var clone = original.clone();
|
||||||
|
expect(clone).to.be.an(ol.style.RegularShape);
|
||||||
|
expect(clone).to.not.be(original);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('copies all values', function() {
|
||||||
|
var original = new ol.style.RegularShape({
|
||||||
|
fill: new ol.style.Fill({
|
||||||
|
color: '#319FD3'
|
||||||
|
}),
|
||||||
|
points: 5,
|
||||||
|
radius: 4,
|
||||||
|
radius2: 6,
|
||||||
|
angle: 1,
|
||||||
|
snapToPixel: false,
|
||||||
|
stroke: new ol.style.Stroke({
|
||||||
|
color: '#319FD3'
|
||||||
|
}),
|
||||||
|
rotation: 2,
|
||||||
|
rotateWithView: true
|
||||||
|
});
|
||||||
|
original.setOpacity(0.5);
|
||||||
|
original.setScale(1.5);
|
||||||
|
var clone = original.clone();
|
||||||
|
expect(original.getAngle()).to.eql(clone.getAngle());
|
||||||
|
expect(original.getFill().getColor()).to.eql(clone.getFill().getColor());
|
||||||
|
expect(original.getOpacity()).to.eql(clone.getOpacity());
|
||||||
|
expect(original.getPoints()).to.eql(clone.getPoints());
|
||||||
|
expect(original.getRadius()).to.eql(clone.getRadius());
|
||||||
|
expect(original.getRadius2()).to.eql(clone.getRadius2());
|
||||||
|
expect(original.getRotation()).to.eql(clone.getRotation());
|
||||||
|
expect(original.getRotateWithView()).to.eql(clone.getRotateWithView());
|
||||||
|
expect(original.getScale()).to.eql(clone.getScale());
|
||||||
|
expect(original.getSnapToPixel()).to.eql(clone.getSnapToPixel());
|
||||||
|
expect(original.getStroke().getColor()).to.eql(clone.getStroke().getColor());
|
||||||
|
});
|
||||||
|
|
||||||
|
it('the clone does not reference the same objects as the original', function() {
|
||||||
|
var original = new ol.style.RegularShape({
|
||||||
|
fill: new ol.style.Fill({
|
||||||
|
color: '#319FD3'
|
||||||
|
}),
|
||||||
|
stroke: new ol.style.Stroke({
|
||||||
|
color: '#319FD3'
|
||||||
|
})
|
||||||
|
});
|
||||||
|
var clone = original.clone();
|
||||||
|
expect(original.getFill()).to.not.be(clone.getFill());
|
||||||
|
expect(original.getStroke()).to.not.be(clone.getStroke());
|
||||||
|
|
||||||
|
clone.getFill().setColor('#012345');
|
||||||
|
clone.getStroke().setColor('#012345');
|
||||||
|
expect(original.getFill().getColor()).to.not.eql(clone.getFill().getColor());
|
||||||
|
expect(original.getStroke().getColor()).to.not.eql(clone.getStroke().getColor());
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
describe('#getChecksum', function() {
|
describe('#getChecksum', function() {
|
||||||
|
|
||||||
|
|||||||
@@ -9,16 +9,16 @@ describe('ol.style.Stroke', function() {
|
|||||||
it('creates a new ol.style.Stroke', function() {
|
it('creates a new ol.style.Stroke', function() {
|
||||||
var original = new ol.style.Stroke();
|
var original = new ol.style.Stroke();
|
||||||
var clone = original.clone();
|
var clone = original.clone();
|
||||||
expect(clone instanceof ol.style.Stroke).to.eql(true);
|
expect(clone).to.be.an(ol.style.Stroke);
|
||||||
expect(clone).to.not.be(original);
|
expect(clone).to.not.be(original);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('clones all values', function() {
|
it('copies all values', function() {
|
||||||
var original = new ol.style.Stroke({
|
var original = new ol.style.Stroke({
|
||||||
color: '#319FD3',
|
color: '#319FD3',
|
||||||
lineCap: 'square',
|
lineCap: 'square',
|
||||||
lineJoin: 'miter',
|
lineJoin: 'miter',
|
||||||
lineDash: [1,2,3],
|
lineDash: [1, 2, 3],
|
||||||
miterLimit: 20,
|
miterLimit: 20,
|
||||||
width: 5
|
width: 5
|
||||||
});
|
});
|
||||||
@@ -31,5 +31,21 @@ describe('ol.style.Stroke', function() {
|
|||||||
expect(original.getMiterLimit()).to.be(clone.getMiterLimit());
|
expect(original.getMiterLimit()).to.be(clone.getMiterLimit());
|
||||||
expect(original.getWidth()).to.be(clone.getWidth());
|
expect(original.getWidth()).to.be(clone.getWidth());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('the clone does not reference the same objects as the original', function() {
|
||||||
|
var original = new ol.style.Stroke({
|
||||||
|
color: [1, 2, 3, 0.4],
|
||||||
|
lineDash: [1, 2, 3]
|
||||||
|
});
|
||||||
|
var clone = original.clone();
|
||||||
|
expect(original.getColor()).to.not.be(clone.getColor());
|
||||||
|
expect(original.getLineDash()).to.not.be(clone.getLineDash());
|
||||||
|
|
||||||
|
clone.getColor()[0] = 0;
|
||||||
|
clone.getLineDash()[0] = 0;
|
||||||
|
expect(original.getColor()).to.not.eql(clone.getColor());
|
||||||
|
expect(original.getLineDash()).to.not.eql(clone.getLineDash());
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -3,10 +3,85 @@ goog.provide('ol.test.style.Style');
|
|||||||
goog.require('ol.Feature');
|
goog.require('ol.Feature');
|
||||||
goog.require('ol.geom.Point');
|
goog.require('ol.geom.Point');
|
||||||
goog.require('ol.style.Style');
|
goog.require('ol.style.Style');
|
||||||
|
goog.require('ol.style.Fill');
|
||||||
|
goog.require('ol.style.Circle');
|
||||||
|
goog.require('ol.style.Stroke');
|
||||||
|
goog.require('ol.style.Text');
|
||||||
|
|
||||||
|
|
||||||
describe('ol.style.Style', function() {
|
describe('ol.style.Style', function() {
|
||||||
|
|
||||||
|
describe('#clone', function() {
|
||||||
|
|
||||||
|
it('creates a new ol.style.Style', function() {
|
||||||
|
var original = new ol.style.Style();
|
||||||
|
var clone = original.clone();
|
||||||
|
expect(clone).to.be.an(ol.style.Style);
|
||||||
|
expect(clone).to.not.be(original);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('copies all values', function() {
|
||||||
|
var original = new ol.style.Style({
|
||||||
|
geometry: new ol.geom.Point([0,0,0]),
|
||||||
|
fill: new ol.style.Fill({
|
||||||
|
color: '#319FD3'
|
||||||
|
}),
|
||||||
|
image: new ol.style.Circle({
|
||||||
|
radius: 5
|
||||||
|
}),
|
||||||
|
stroke: new ol.style.Stroke({
|
||||||
|
color: '#319FD3'
|
||||||
|
}),
|
||||||
|
text: new ol.style.Text({
|
||||||
|
text: 'test'
|
||||||
|
}),
|
||||||
|
zIndex: 2
|
||||||
|
});
|
||||||
|
var clone = original.clone();
|
||||||
|
expect(original.getGeometry().getCoordinates()).to.eql(clone.getGeometry().getCoordinates());
|
||||||
|
expect(original.getFill().getColor()).to.eql(clone.getFill().getColor());
|
||||||
|
expect(original.getImage().getRadius()).to.eql(clone.getImage().getRadius());
|
||||||
|
expect(original.getStroke().getColor()).to.eql(clone.getStroke().getColor());
|
||||||
|
expect(original.getText().getText()).to.eql(clone.getText().getText());
|
||||||
|
expect(original.getZIndex()).to.eql(clone.getZIndex());
|
||||||
|
});
|
||||||
|
|
||||||
|
it('the clone does not reference the same objects as the original', function() {
|
||||||
|
var original = new ol.style.Style({
|
||||||
|
geometry: new ol.geom .Point([0,0,0]),
|
||||||
|
fill: new ol.style.Fill({
|
||||||
|
color: '#319FD3'
|
||||||
|
}),
|
||||||
|
image: new ol.style.Circle({
|
||||||
|
radius: 5
|
||||||
|
}),
|
||||||
|
stroke: new ol.style.Stroke({
|
||||||
|
color: '#319FD3'
|
||||||
|
}),
|
||||||
|
text: new ol.style.Text({
|
||||||
|
text: 'test'
|
||||||
|
})
|
||||||
|
});
|
||||||
|
var clone = original.clone();
|
||||||
|
expect(original.getGeometry()).not.to.be(clone.getGeometry());
|
||||||
|
expect(original.getFill()).not.to.be(clone.getFill());
|
||||||
|
expect(original.getImage()).not.to.be(clone.getImage());
|
||||||
|
expect(original.getStroke()).not.to.be(clone.getStroke());
|
||||||
|
expect(original.getText()).not.to.be(clone.getText());
|
||||||
|
|
||||||
|
clone.getGeometry().setCoordinates([1,1,1]);
|
||||||
|
clone.getFill().setColor('#012345');
|
||||||
|
clone.getImage().setScale(2);
|
||||||
|
clone.getStroke().setColor('#012345');
|
||||||
|
clone.getText().setText('other');
|
||||||
|
expect(original.getGeometry().getCoordinates()).not.to.eql(clone.getGeometry().getCoordinates());
|
||||||
|
expect(original.getFill().getColor()).not.to.eql(clone.getFill().getColor());
|
||||||
|
expect(original.getImage().getScale()).not.to.eql(clone.getImage().getScale());
|
||||||
|
expect(original.getStroke().getColor()).not.to.eql(clone.getStroke().getColor());
|
||||||
|
expect(original.getText().getText()).not.to.eql(clone.getText().getText());
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('#setZIndex', function() {
|
describe('#setZIndex', function() {
|
||||||
|
|
||||||
it('sets the zIndex', function() {
|
it('sets the zIndex', function() {
|
||||||
|
|||||||
@@ -28,4 +28,66 @@ describe('ol.style.Text', function() {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('#clone', function() {
|
||||||
|
|
||||||
|
it('creates a new ol.style.Text', function() {
|
||||||
|
var original = new ol.style.Text();
|
||||||
|
var clone = original.clone();
|
||||||
|
expect(clone).to.be.an(ol.style.Text);
|
||||||
|
expect(clone).to.not.be(original);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('copies all values', function() {
|
||||||
|
var original = new ol.style.Text({
|
||||||
|
font: '12px serif',
|
||||||
|
offsetX: 4,
|
||||||
|
offsetY: 10,
|
||||||
|
scale: 2,
|
||||||
|
rotateWithView: true,
|
||||||
|
rotation: 1.5,
|
||||||
|
text: 'test',
|
||||||
|
textAlign: 'center',
|
||||||
|
textBaseline: 'top',
|
||||||
|
fill: new ol.style.Fill({
|
||||||
|
color: '#319FD3'
|
||||||
|
}),
|
||||||
|
stroke: new ol.style.Stroke({
|
||||||
|
color: '#319FD3'
|
||||||
|
})
|
||||||
|
});
|
||||||
|
var clone = original.clone();
|
||||||
|
expect(original.getFont()).to.eql(clone.getFont());
|
||||||
|
expect(original.getOffsetX()).to.be(clone.getOffsetX());
|
||||||
|
expect(original.getOffsetY()).to.be(clone.getOffsetY());
|
||||||
|
expect(original.getScale()).to.be(clone.getScale());
|
||||||
|
expect(original.getRotateWithView()).to.be(clone.getRotateWithView());
|
||||||
|
expect(original.getRotation()).to.be(clone.getRotation());
|
||||||
|
expect(original.getText()).to.be(clone.getText());
|
||||||
|
expect(original.getTextAlign()).to.be(clone.getTextAlign());
|
||||||
|
expect(original.getTextBaseline()).to.be(clone.getTextBaseline());
|
||||||
|
expect(original.getStroke().getColor()).to.eql(clone.getStroke().getColor());
|
||||||
|
expect(original.getFill().getColor()).to.eql(clone.getFill().getColor());
|
||||||
|
});
|
||||||
|
|
||||||
|
it('the clone does not reference the same objects as the original', function() {
|
||||||
|
var original = new ol.style.Text({
|
||||||
|
fill: new ol.style.Fill({
|
||||||
|
color: '#319FD3'
|
||||||
|
}),
|
||||||
|
stroke: new ol.style.Stroke({
|
||||||
|
color: '#319FD3'
|
||||||
|
})
|
||||||
|
});
|
||||||
|
var clone = original.clone();
|
||||||
|
expect(original.getFill()).to.not.be(clone.getFill());
|
||||||
|
expect(original.getStroke()).to.not.be(clone.getStroke());
|
||||||
|
|
||||||
|
clone.getFill().setColor('#012345');
|
||||||
|
clone.getStroke().setColor('#012345');
|
||||||
|
expect(original.getFill().getColor()).to.not.eql(clone.getFill().getColor());
|
||||||
|
expect(original.getStroke().getColor()).to.not.eql(clone.getStroke().getColor());
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user