From 8af5dd7157766b334c7ac240c4d22c7a94e2b35c Mon Sep 17 00:00:00 2001 From: Thomas Moelhave Date: Fri, 2 Sep 2016 15:49:31 +0200 Subject: [PATCH] Move interim chain tests to ol.Tile --- test/spec/ol/imagetile.test.js | 66 ------------------------------- test/spec/ol/tile.test.js | 71 ++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 66 deletions(-) create mode 100644 test/spec/ol/tile.test.js diff --git a/test/spec/ol/imagetile.test.js b/test/spec/ol/imagetile.test.js index 82de601437..3986c7c4ff 100644 --- a/test/spec/ol/imagetile.test.js +++ b/test/spec/ol/imagetile.test.js @@ -60,73 +60,7 @@ describe('ol.ImageTile', function() { tile.load(); }); - }); - describe('interimChain', function() { - var head, renderTile; - beforeEach(function() { - var tileCoord = [0, 0, 0]; - var src = 'spec/ol/data/osm-0-0-0.png'; - var tileLoadFunction = ol.source.Image.defaultImageLoadFunction; - head = new ol.ImageTile(tileCoord, ol.Tile.State.IDLE, src, null, tileLoadFunction); - ol.getUid(head); - - var addToChain = function(tile, state) { - var next = new ol.ImageTile(tileCoord, state, src, null, tileLoadFunction); - ol.getUid(next); - tile.interimTile = next; - return next; - }; - var tail = addToChain(head,ol.Tile.State.IDLE); //discard, deprecated by head - tail = addToChain(tail,ol.Tile.State.LOADING); //keep, request already going - tail = addToChain(tail,ol.Tile.State.IDLE); //discard, deprecated by head - tail = addToChain(tail,ol.Tile.State.LOADED); //keep, use for rendering - renderTile = tail; //store this tile for later tests - tail = addToChain(tail,ol.Tile.State.IDLE); //rest of list outdated by tile above - tail = addToChain(tail,ol.Tile.State.LOADED); - tail = addToChain(tail,ol.Tile.State.LOADING); - tail = addToChain(tail,ol.Tile.State.LOADED); - - }); - - it('shrinks tile chain correctly', function(done) { - var chainLength = function(tile) { - var c = 0; - while (tile) { - ++c; - tile = tile.interimTile; - } - return c; - }; - - expect(chainLength(head)).to.be(9); - head.refreshInterimChain(); - expect(chainLength(head)).to.be(3); - done(); - }); - - it('gives the right tile to render', function(done) { - expect(head.getInterimTile()).to.be(renderTile); - head.refreshInterimChain(); - expect(head.getInterimTile()).to.be(renderTile); - done(); - }); - - it('discards everything after the render tile', function(done) { - head.refreshInterimChain(); - expect(renderTile.interimTile).to.be(null); - done(); - }); - - it('preserves order of tiles', function(done) { - head.refreshInterimChain(); - while (head.interimTile !== null) { - //use property of ol.getUid returning increasing id's. - expect(ol.getUid(head) < ol.getUid(head.interimTile)); - head = head.interimTile; - } - done(); - }); }); }); diff --git a/test/spec/ol/tile.test.js b/test/spec/ol/tile.test.js new file mode 100644 index 0000000000..5c649a7a0e --- /dev/null +++ b/test/spec/ol/tile.test.js @@ -0,0 +1,71 @@ +goog.provide('ol.test.Tile'); + +goog.require('ol.Tile'); + +describe('ol.Tile', function() { + describe('interimChain', function() { + var head, renderTile; + beforeEach(function() { + var tileCoord = [0, 0, 0]; + head = new ol.ImageTile(tileCoord, ol.Tile.State.IDLE); + ol.getUid(head); + + var addToChain = function(tile, state) { + var next = new ol.ImageTile(tileCoord, state); + ol.getUid(next); + tile.interimTile = next; + return next; + }; + var tail = addToChain(head,ol.Tile.State.IDLE); //discard, deprecated by head + tail = addToChain(tail,ol.Tile.State.LOADING); //keep, request already going + tail = addToChain(tail,ol.Tile.State.IDLE); //discard, deprecated by head + tail = addToChain(tail,ol.Tile.State.LOADED); //keep, use for rendering + renderTile = tail; //store this tile for later tests + tail = addToChain(tail,ol.Tile.State.IDLE); //rest of list outdated by tile above + tail = addToChain(tail,ol.Tile.State.LOADED); + tail = addToChain(tail,ol.Tile.State.LOADING); + tail = addToChain(tail,ol.Tile.State.LOADED); + + }); + + it('shrinks tile chain correctly', function(done) { + var chainLength = function(tile) { + var c = 0; + while (tile) { + ++c; + tile = tile.interimTile; + } + return c; + }; + + expect(chainLength(head)).to.be(9); + head.refreshInterimChain(); + expect(chainLength(head)).to.be(3); + done(); + }); + + it('gives the right tile to render', function(done) { + expect(head.getInterimTile()).to.be(renderTile); + head.refreshInterimChain(); + expect(head.getInterimTile()).to.be(renderTile); + done(); + }); + + it('discards everything after the render tile', function(done) { + head.refreshInterimChain(); + expect(renderTile.interimTile).to.be(null); + done(); + }); + + it('preserves order of tiles', function(done) { + head.refreshInterimChain(); + while (head.interimTile !== null) { + //use property of ol.getUid returning increasing id's. + expect(ol.getUid(head) < ol.getUid(head.interimTile)); + head = head.interimTile; + } + done(); + }); + }); + +});