Allow layer source to be set

This commit is contained in:
Tim Schaub
2014-10-21 22:32:25 -06:00
parent 773ac433ce
commit 88030dbce7
3 changed files with 93 additions and 8 deletions

View File

@@ -243,6 +243,62 @@ describe('ol.layer.Layer', function() {
});
describe('#getSource', function() {
it('gets the layer source', function() {
var source = new ol.source.Source({projection: ol.proj.get('EPSG:4326')});
var layer = new ol.layer.Layer({source: source});
expect(layer.getSource()).to.be(source);
});
});
describe('#setSource()', 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.setSource(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.setSource(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.setSource(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('#setBrightness', function() {
var layer;