This change adds setters for symbolizer properties. In addition, it introduces a mutable flag on all styles. By default, this is set to true. ol.style.createStyleFunction sets it to false for all static styles. The new setters assert that the mutable flag is true, so whenever an application tries to set a symbolizer property on a style that was assigned to a vector layer or feature overlay, the assertion will fail.
36 lines
1.0 KiB
JavaScript
36 lines
1.0 KiB
JavaScript
goog.provide('ol.test.FeatureOverlay');
|
|
|
|
describe('ol.FeatureOverlay', function() {
|
|
|
|
describe('constructor', function() {
|
|
|
|
it('creates an new feature overlay', function() {
|
|
var featureOverlay = new ol.FeatureOverlay();
|
|
expect(featureOverlay).to.be.a(ol.FeatureOverlay);
|
|
});
|
|
|
|
it('takes features', function() {
|
|
var featureOverlay = new ol.FeatureOverlay({
|
|
features: [new ol.Feature(new ol.geom.Point([0, 0]))]
|
|
});
|
|
expect(featureOverlay.getFeatures().getLength()).to.be(1);
|
|
});
|
|
|
|
it('takes a style and makes it immutable', function() {
|
|
var style = [new ol.style.Style()];
|
|
var featureOverlay = new ol.FeatureOverlay({
|
|
style: [new ol.style.Style()]
|
|
});
|
|
style[0].setMutable(false);
|
|
expect(featureOverlay.getStyle()).to.eql(style);
|
|
expect(featureOverlay.getStyleFunction()()).to.eql(style);
|
|
});
|
|
|
|
});
|
|
});
|
|
|
|
goog.require('ol.Feature');
|
|
goog.require('ol.FeatureOverlay');
|
|
goog.require('ol.geom.Point');
|
|
goog.require('ol.style.Style');
|