Merge pull request #5270 from fredj/load_error

Load erroneous image in ol.Image#load and ol.ImageTile#load
This commit is contained in:
Frédéric Junod
2016-06-08 09:25:57 +02:00
5 changed files with 79 additions and 5 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@@ -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');