diff --git a/test/spec/ol/data/osm-0-0-0.png b/test/spec/ol/data/osm-0-0-0.png new file mode 100644 index 0000000000..885def1f00 Binary files /dev/null and b/test/spec/ol/data/osm-0-0-0.png differ diff --git a/test/spec/ol/imagetile.test.js b/test/spec/ol/imagetile.test.js new file mode 100644 index 0000000000..cb01bdb1a7 --- /dev/null +++ b/test/spec/ol/imagetile.test.js @@ -0,0 +1,65 @@ +goog.provide('ol.test.ImageTile'); + +describe('ol.ImageTile', function() { + + describe('#load()', function() { + + it('can load idle tile', function(done) { + var tileCoord = [0, 0, 0]; + var state = ol.TileState.IDLE; + var src = 'spec/ol/data/osm-0-0-0.png'; + var tileLoadFunction = ol.source.Image.defaultImageLoadFunction; + var tile = new ol.ImageTile(tileCoord, state, src, null, tileLoadFunction); + + var previousState = tile.getState() + + ol.events.listen(tile, ol.events.EventType.CHANGE, function(event) { + var state = tile.getState(); + if (previousState == ol.TileState.IDLE) { + expect(state).to.be(ol.TileState.LOADING); + } else if (previousState == ol.TileState.LOADING) { + expect(state).to.be(ol.TileState.LOADED); + done(); + } else { + expect().fail(); + } + previousState = state; + }); + + tile.load(); + }); + + it('can load error tile', function(done) { + var tileCoord = [0, 0, 0]; + var state = ol.TileState.ERROR; + var src = 'spec/ol/data/osm-0-0-0.png'; + var tileLoadFunction = ol.source.Image.defaultImageLoadFunction; + var tile = new ol.ImageTile(tileCoord, state, src, null, tileLoadFunction); + + var previousState = tile.getState() + + ol.events.listen(tile, ol.events.EventType.CHANGE, function(event) { + var state = tile.getState(); + if (previousState == ol.TileState.ERROR) { + expect(state).to.be(ol.TileState.LOADING); + } else if (previousState == ol.TileState.LOADING) { + expect(state).to.be(ol.TileState.LOADED); + done(); + } else { + expect().fail(); + } + previousState = state; + }); + + tile.load(); + }); + + }); + +}); + +goog.require('ol.events'); +goog.require('ol.events.EventType'); +goog.require('ol.source.Image'); +goog.require('ol.ImageTile'); +goog.require('ol.TileState');