Allow source to be set with set method as well
This commit is contained in:
@@ -253,6 +253,52 @@ describe('ol.layer.Layer', function() {
|
||||
|
||||
});
|
||||
|
||||
describe('#set("source", source)', function() {
|
||||
var projection = ol.proj.get('EPSG:4326');
|
||||
|
||||
it('sets the layer source', function() {
|
||||
var layer = new ol.layer.Layer({
|
||||
source: new ol.source.Source({projection: projection})
|
||||
});
|
||||
|
||||
var source = new ol.source.Source({projection: projection});
|
||||
layer.set('source', source);
|
||||
expect(layer.getSource()).to.be(source);
|
||||
});
|
||||
|
||||
it('calls changed', function() {
|
||||
var layer = new ol.layer.Layer({
|
||||
source: new ol.source.Source({projection: projection})
|
||||
});
|
||||
sinon.spy(layer, 'changed');
|
||||
|
||||
var source = new ol.source.Source({projection: projection});
|
||||
layer.set('source', source);
|
||||
expect(layer.changed.calledOnce).to.be(true);
|
||||
});
|
||||
|
||||
it('sets up event listeners', function() {
|
||||
sinon.spy(ol.layer.Layer.prototype, 'handleSourceChange_');
|
||||
|
||||
var first = new ol.source.Source({projection: projection});
|
||||
var layer = new ol.layer.Layer({source: first});
|
||||
|
||||
first.setState(ol.source.State.READY);
|
||||
expect(layer.handleSourceChange_.calledOnce).to.be(true);
|
||||
|
||||
var second = new ol.source.Source({projection: projection});
|
||||
layer.set('source', second);
|
||||
|
||||
expect(layer.handleSourceChange_.calledOnce).to.be(true);
|
||||
second.setState(ol.source.State.READY);
|
||||
expect(layer.handleSourceChange_.callCount).to.be(2);
|
||||
|
||||
// remove spy
|
||||
ol.layer.Layer.prototype.handleSourceChange_.restore();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('#setSource()', function() {
|
||||
var projection = ol.proj.get('EPSG:4326');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user