From 7c835815662bd197def1d7cdaa5e55cd5127545f Mon Sep 17 00:00:00 2001 From: tsauerwein Date: Sat, 4 Apr 2015 15:18:35 +0200 Subject: [PATCH] Add image loading events to ImageStatic --- src/ol/source/imagestaticsource.js | 3 ++ test/spec/ol/source/images/12-655-1583.png | Bin 0 -> 31883 bytes test/spec/ol/source/imagestaticsource.test.js | 45 ++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 test/spec/ol/source/images/12-655-1583.png create mode 100644 test/spec/ol/source/imagestaticsource.test.js diff --git a/src/ol/source/imagestaticsource.js b/src/ol/source/imagestaticsource.js index 04fa00fa78..705c8eb639 100644 --- a/src/ol/source/imagestaticsource.js +++ b/src/ol/source/imagestaticsource.js @@ -1,6 +1,7 @@ goog.provide('ol.source.ImageStatic'); goog.require('goog.events'); +goog.require('goog.events.EventType'); goog.require('ol.Image'); goog.require('ol.extent'); goog.require('ol.proj'); @@ -49,6 +50,8 @@ ol.source.ImageStatic = function(options) { */ this.image_ = new ol.Image(imageExtent, resolution, 1, attributions, options.url, crossOrigin, imageLoadFunction); + goog.events.listen(this.image_, goog.events.EventType.CHANGE, + this.handleImageChange, false, this); }; goog.inherits(ol.source.ImageStatic, ol.source.Image); diff --git a/test/spec/ol/source/images/12-655-1583.png b/test/spec/ol/source/images/12-655-1583.png new file mode 100644 index 0000000000000000000000000000000000000000..4e590f2e38dfa3a92a49d991f7533b7fda51f554 GIT binary patch literal 31883 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 Ef&#ZYwEzGB literal 0 HcmV?d00001 diff --git a/test/spec/ol/source/imagestaticsource.test.js b/test/spec/ol/source/imagestaticsource.test.js new file mode 100644 index 0000000000..126341cc9b --- /dev/null +++ b/test/spec/ol/source/imagestaticsource.test.js @@ -0,0 +1,45 @@ +goog.provide('ol.test.source.ImageStatic'); + +describe('ol.source.ImageStatic', function() { + + var extent, pixelRatio, projection, resolution; + beforeEach(function() { + extent = [ + -13637278.73946974, 4543799.13271362, + -13617443.330629736, 4553927.038961405]; + pixelRatio = 1; + projection = ol.proj.get('EPSG:3857'); + resolution = 38; + }); + + describe('#getImage', function() { + + it('triggers image load events', function(done) { + var source = new ol.source.ImageStatic({ + url: 'spec/ol/source/images/12-655-1583.png', + imageExtent: [ + -13629027.891360067, 4539747.983913189, + -13619243.951739565, 4549531.923533691], + projection: projection, + imageSize: [256, 256] + }); + + var imageloadstart = sinon.spy(); + var imageloaderror = sinon.spy(); + + source.on('imageloadstart', imageloadstart); + source.on('imageloaderror', imageloaderror); + source.on('imageloadend', function(event) { + expect(imageloadstart.callCount).to.be(1); + expect(imageloaderror.callCount).to.be(0); + done(); + }); + + var image = source.getImage(extent, resolution, pixelRatio, projection); + image.load(); + }); + }); +}); + +goog.require('ol.source.ImageStatic'); +goog.require('ol.proj');