Files
openlayers/test/spec/ol/tilerange.test.js
2012-09-27 12:42:13 +02:00

96 lines
3.8 KiB
JavaScript

describe('ol.TileRange', function() {
describe('contains', function() {
it('returns the expected value', function() {
var tileRange = new ol.TileRange(1, 1, 3, 3);
expect(tileRange.contains(new ol.TileCoord(0, 0, 0))).toBeFalsy();
expect(tileRange.contains(new ol.TileCoord(0, 0, 1))).toBeFalsy();
expect(tileRange.contains(new ol.TileCoord(0, 0, 2))).toBeFalsy();
expect(tileRange.contains(new ol.TileCoord(0, 0, 3))).toBeFalsy();
expect(tileRange.contains(new ol.TileCoord(0, 0, 4))).toBeFalsy();
expect(tileRange.contains(new ol.TileCoord(0, 1, 0))).toBeFalsy();
expect(tileRange.contains(new ol.TileCoord(0, 1, 1))).toBeTruthy();
expect(tileRange.contains(new ol.TileCoord(0, 1, 2))).toBeTruthy();
expect(tileRange.contains(new ol.TileCoord(0, 1, 3))).toBeTruthy();
expect(tileRange.contains(new ol.TileCoord(0, 1, 4))).toBeFalsy();
expect(tileRange.contains(new ol.TileCoord(0, 2, 0))).toBeFalsy();
expect(tileRange.contains(new ol.TileCoord(0, 2, 1))).toBeTruthy();
expect(tileRange.contains(new ol.TileCoord(0, 2, 2))).toBeTruthy();
expect(tileRange.contains(new ol.TileCoord(0, 2, 3))).toBeTruthy();
expect(tileRange.contains(new ol.TileCoord(0, 2, 4))).toBeFalsy();
expect(tileRange.contains(new ol.TileCoord(0, 3, 0))).toBeFalsy();
expect(tileRange.contains(new ol.TileCoord(0, 3, 1))).toBeTruthy();
expect(tileRange.contains(new ol.TileCoord(0, 3, 2))).toBeTruthy();
expect(tileRange.contains(new ol.TileCoord(0, 3, 3))).toBeTruthy();
expect(tileRange.contains(new ol.TileCoord(0, 3, 4))).toBeFalsy();
expect(tileRange.contains(new ol.TileCoord(0, 4, 0))).toBeFalsy();
expect(tileRange.contains(new ol.TileCoord(0, 4, 1))).toBeFalsy();
expect(tileRange.contains(new ol.TileCoord(0, 4, 2))).toBeFalsy();
expect(tileRange.contains(new ol.TileCoord(0, 4, 3))).toBeFalsy();
expect(tileRange.contains(new ol.TileCoord(0, 4, 4))).toBeFalsy();
});
});
describe('boundingTileRange', function() {
it('returns the expected TileRange', function() {
var tileRange = new ol.TileRange.boundingTileRange(
new ol.TileCoord(3, 1, 3),
new ol.TileCoord(3, 2, 0));
expect(tileRange.minX).toEqual(1);
expect(tileRange.minY).toEqual(0);
expect(tileRange.maxX).toEqual(2);
expect(tileRange.maxY).toEqual(3);
});
describe('with mixed z', function() {
expect(function() {
var tileRange = new ol.TileRange.boundingTileRange(
new ol.TileCoord(3, 1, 3),
new ol.TileCoord(4, 2, 0));
}).toThrow();
});
});
describe('forEachTileCoord', function() {
it('iterates as expected', function() {
var tileRange = new ol.TileRange(0, 2, 1, 3);
var tileCoords = [];
tileRange.forEachTileCoord(5, function(tileCoord) {
tileCoords.push(
new ol.TileCoord(tileCoord.z, tileCoord.x, tileCoord.y));
});
expect(tileCoords.length).toEqual(4);
expect(tileCoords[0].z).toEqual(5);
expect(tileCoords[0].x).toEqual(0);
expect(tileCoords[0].y).toEqual(2);
expect(tileCoords[1].z).toEqual(5);
expect(tileCoords[1].x).toEqual(0);
expect(tileCoords[1].y).toEqual(3);
expect(tileCoords[2].z).toEqual(5);
expect(tileCoords[2].x).toEqual(1);
expect(tileCoords[2].y).toEqual(2);
expect(tileCoords[3].z).toEqual(5);
expect(tileCoords[3].x).toEqual(1);
expect(tileCoords[3].y).toEqual(3);
});
});
describe('getSize', function() {
it('returns the expected size', function() {
var tileRange = new ol.TileRange(0, 1, 2, 4);
var size = tileRange.getSize();
expect(size.width).toEqual(3);
expect(size.height).toEqual(4);
});
});
});
goog.require('ol.TileRange');