[ol.Tile] add ol.Tile.createConstructor and set width and height to the img archetype

This commit is contained in:
Éric Lemoine
2012-06-22 10:38:14 +02:00
parent 67ce7afe67
commit f7a956f404
4 changed files with 68 additions and 8 deletions

View File

@@ -1,9 +1,22 @@
describe("ol.Tile", function() {
describe("create a tile constructor", function() {
it("returns a constructor than can create tiles with expected properties", function() {
var Tile = ol.Tile.createConstructor(100, 100);
expect(typeof Tile).toEqual("function");
var tile = new Tile('url');
expect(tile).toBeA(ol.Tile);
expect(tile.getImg().className).toEqual('olTile');
expect(tile.getImg().style.width).toEqual("100px");
expect(tile.getImg().style.height).toEqual("100px");
});
});
describe("create a tile", function() {
var tile;
beforeEach(function() {
tile = new ol.Tile('http://a.url');
var Tile = ol.Tile.createConstructor(200, 200);
tile = new Tile('http://a.url');
});
it("creates a tile instance", function() {
expect(tile).toBeA(ol.Tile);
@@ -16,7 +29,8 @@ describe("ol.Tile", function() {
describe("handle image load", function() {
var tile;
beforeEach(function() {
tile = new ol.Tile('http://a.url');
var Tile = ol.Tile.createConstructor(200, 200);
tile = new Tile('http://a.url');
});
it("fires a load event", function() {
var spy = jasmine.createSpy();
@@ -33,7 +47,8 @@ describe("ol.Tile", function() {
describe("handle image error", function() {
var tile;
beforeEach(function() {
tile = new ol.Tile('http://a.url');
var Tile = ol.Tile.createConstructor(200, 200);
tile = new Tile('http://a.url');
});
it("fires a load event", function() {
var spy = jasmine.createSpy();

View File

@@ -2,17 +2,18 @@ describe('ol.TileCache', function() {
describe('exceed the cache capacity', function() {
var tilecache, tile;
var Tile, tilecache, tile;
beforeEach(function() {
Tile = ol.Tile.createConstructor(200, 200);
tilecache = new ol.TileCache(1);
tile = new ol.Tile('url1');
tile = new Tile('url1');
tilecache.set('url1', tile);
spyOn(tile, 'destroy');
});
it('calls tile.destroy', function() {
tilecache.set('url2', new ol.Tile('url2'));
tilecache.set('url2', new Tile('url2'));
expect(tile.destroy).toHaveBeenCalled();
});
});