Add more ol.TileQueue tests
This commit is contained in:
@@ -14,15 +14,16 @@ describe('ol.TileQueue', function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var tileId = 0;
|
var tileId = 0;
|
||||||
function createImageTile() {
|
function createImageTile(opt_tileLoadFunction) {
|
||||||
++tileId;
|
++tileId;
|
||||||
var tileCoord = [tileId, tileId, tileId];
|
var tileCoord = [tileId, tileId, tileId];
|
||||||
var state = ol.TileState.IDLE;
|
var state = ol.TileState.IDLE;
|
||||||
var src = 'data:image/gif;base64,R0lGODlhAQABAPAAAP8AAP///' +
|
var src = 'data:image/gif;base64,R0lGODlhAQABAPAAAP8AAP///' +
|
||||||
'yH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==#' + tileId;
|
'yH5BAAAAAAALAAAAAABAAEAAAICRAEAOw==#' + tileId;
|
||||||
|
|
||||||
return new ol.ImageTile(tileCoord, state, src, null,
|
var tileLoadFunction = opt_tileLoadFunction ?
|
||||||
ol.source.Image.defaultImageLoadFunction);
|
opt_tileLoadFunction : ol.source.Image.defaultImageLoadFunction;
|
||||||
|
return new ol.ImageTile(tileCoord, state, src, null, tileLoadFunction);
|
||||||
}
|
}
|
||||||
|
|
||||||
describe('#loadMoreTiles()', function() {
|
describe('#loadMoreTiles()', function() {
|
||||||
@@ -121,11 +122,47 @@ describe('ol.TileQueue', function() {
|
|||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('tile change event', function() {
|
||||||
|
var noop = function() {};
|
||||||
|
|
||||||
|
it('abort queued tiles', function() {
|
||||||
|
var tq = new ol.TileQueue(noop, noop);
|
||||||
|
var tile = createImageTile();
|
||||||
|
expect(tile.hasListener(ol.events.EventType.CHANGE)).to.be(false);
|
||||||
|
|
||||||
|
tq.enqueue([tile]);
|
||||||
|
expect(tile.hasListener(ol.events.EventType.CHANGE)).to.be(true);
|
||||||
|
|
||||||
|
tile.dispose();
|
||||||
|
expect(tile.hasListener(ol.events.EventType.CHANGE)).to.be(false);
|
||||||
|
expect(tile.getState()).to.eql(ol.TileState.ABORT);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('abort loading tiles', function() {
|
||||||
|
var tq = new ol.TileQueue(noop, noop);
|
||||||
|
var tile = createImageTile(noop);
|
||||||
|
|
||||||
|
tq.enqueue([tile]);
|
||||||
|
tq.loadMoreTiles(Infinity, Infinity);
|
||||||
|
expect(tq.getTilesLoading()).to.eql(1);
|
||||||
|
expect(tile.getState()).to.eql(ol.TileState.LOADING);
|
||||||
|
|
||||||
|
tile.dispose();
|
||||||
|
expect(tq.getTilesLoading()).to.eql(0);
|
||||||
|
expect(tile.hasListener(ol.events.EventType.CHANGE)).to.be(false);
|
||||||
|
expect(tile.getState()).to.eql(ol.TileState.ABORT);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
goog.require('ol.ImageTile');
|
goog.require('ol.ImageTile');
|
||||||
goog.require('ol.Tile');
|
goog.require('ol.Tile');
|
||||||
goog.require('ol.TileState');
|
goog.require('ol.TileState');
|
||||||
goog.require('ol.TileQueue');
|
goog.require('ol.TileQueue');
|
||||||
|
goog.require('ol.events.EventType');
|
||||||
goog.require('ol.source.Image');
|
goog.require('ol.source.Image');
|
||||||
goog.require('ol.structs.PriorityQueue');
|
goog.require('ol.structs.PriorityQueue');
|
||||||
|
|||||||
Reference in New Issue
Block a user