150 lines
5.2 KiB
JavaScript
150 lines
5.2 KiB
JavaScript
goog.require('goog.testing.jsunit');
|
|
goog.require('ol.control.ZoomFunction');
|
|
|
|
|
|
function testSnapToResolutionsZero() {
|
|
var zoomFunction =
|
|
ol.control.ZoomFunction.createSnapToResolutions([1000, 500, 250, 100]);
|
|
assertEquals(1000, zoomFunction(1000, 0));
|
|
assertEquals(500, zoomFunction(500, 0));
|
|
assertEquals(250, zoomFunction(250, 0));
|
|
assertEquals(100, zoomFunction(100, 0));
|
|
}
|
|
|
|
|
|
function testSnapToResolutionsZoomIn() {
|
|
var zoomFunction =
|
|
ol.control.ZoomFunction.createSnapToResolutions([1000, 500, 250, 100]);
|
|
assertEquals(500, zoomFunction(1000, 1));
|
|
assertEquals(250, zoomFunction(500, 1));
|
|
assertEquals(100, zoomFunction(250, 1));
|
|
assertEquals(100, zoomFunction(100, 1));
|
|
}
|
|
|
|
|
|
function testSnapToResolutionsZoomOut() {
|
|
var zoomFunction =
|
|
ol.control.ZoomFunction.createSnapToResolutions([1000, 500, 250, 100]);
|
|
assertEquals(1000, zoomFunction(1000, -1));
|
|
assertEquals(1000, zoomFunction(500, -1));
|
|
assertEquals(500, zoomFunction(250, -1));
|
|
assertEquals(250, zoomFunction(100, -1));
|
|
}
|
|
|
|
|
|
function testSnapToResolutionsNearestZero() {
|
|
var zoomFunction =
|
|
ol.control.ZoomFunction.createSnapToResolutions([1000, 500, 250, 100]);
|
|
assertEquals(1000, zoomFunction(1050, 0));
|
|
assertEquals(1000, zoomFunction(950, 0));
|
|
assertEquals(500, zoomFunction(550, 0));
|
|
assertEquals(500, zoomFunction(400, 0));
|
|
assertEquals(250, zoomFunction(300, 0));
|
|
assertEquals(250, zoomFunction(200, 0));
|
|
assertEquals(100, zoomFunction(150, 0));
|
|
assertEquals(100, zoomFunction(50, 0));
|
|
}
|
|
|
|
|
|
function testSnapToResolutionsNearestZoomIn() {
|
|
var zoomFunction =
|
|
ol.control.ZoomFunction.createSnapToResolutions([1000, 500, 250, 100]);
|
|
assertEquals(500, zoomFunction(1050, 1));
|
|
assertEquals(500, zoomFunction(950, 1));
|
|
assertEquals(250, zoomFunction(550, 1));
|
|
assertEquals(250, zoomFunction(450, 1));
|
|
assertEquals(100, zoomFunction(300, 1));
|
|
assertEquals(100, zoomFunction(200, 1));
|
|
assertEquals(100, zoomFunction(150, 1));
|
|
assertEquals(100, zoomFunction(50, 1));
|
|
}
|
|
|
|
|
|
function testSnapToResolutionsNearestZoomOut() {
|
|
var zoomFunction =
|
|
ol.control.ZoomFunction.createSnapToResolutions([1000, 500, 250, 100]);
|
|
assertEquals(1000, zoomFunction(1050, -1));
|
|
assertEquals(1000, zoomFunction(950, -1));
|
|
assertEquals(1000, zoomFunction(550, -1));
|
|
assertEquals(1000, zoomFunction(450, -1));
|
|
assertEquals(500, zoomFunction(300, -1));
|
|
assertEquals(500, zoomFunction(200, -1));
|
|
assertEquals(250, zoomFunction(150, -1));
|
|
assertEquals(250, zoomFunction(50, -1));
|
|
}
|
|
|
|
|
|
function testSnapToPowerZero() {
|
|
var zoomFunction = ol.control.ZoomFunction.createSnapToPower(2, 1024, 10);
|
|
assertEquals(1024, zoomFunction(1024, 0));
|
|
assertEquals(512, zoomFunction(512, 0));
|
|
assertEquals(256, zoomFunction(256, 0));
|
|
assertEquals(128, zoomFunction(128, 0));
|
|
assertEquals(64, zoomFunction(64, 0));
|
|
assertEquals(32, zoomFunction(32, 0));
|
|
assertEquals(16, zoomFunction(16, 0));
|
|
assertEquals(8, zoomFunction(8, 0));
|
|
assertEquals(4, zoomFunction(4, 0));
|
|
assertEquals(2, zoomFunction(2, 0));
|
|
assertEquals(1, zoomFunction(1, 0));
|
|
}
|
|
|
|
|
|
function testSnapToPowerZoomIn() {
|
|
var zoomFunction = ol.control.ZoomFunction.createSnapToPower(2, 1024, 10);
|
|
assertEquals(512, zoomFunction(1024, 1));
|
|
assertEquals(256, zoomFunction(512, 1));
|
|
assertEquals(128, zoomFunction(256, 1));
|
|
assertEquals(64, zoomFunction(128, 1));
|
|
assertEquals(32, zoomFunction(64, 1));
|
|
assertEquals(16, zoomFunction(32, 1));
|
|
assertEquals(8, zoomFunction(16, 1));
|
|
assertEquals(4, zoomFunction(8, 1));
|
|
assertEquals(2, zoomFunction(4, 1));
|
|
assertEquals(1, zoomFunction(2, 1));
|
|
assertEquals(1, zoomFunction(1, 1));
|
|
}
|
|
|
|
|
|
function testSnapToPowerZoomOut() {
|
|
var zoomFunction = ol.control.ZoomFunction.createSnapToPower(2, 1024, 10);
|
|
assertEquals(1024, zoomFunction(1024, -1));
|
|
assertEquals(1024, zoomFunction(512, -1));
|
|
assertEquals(512, zoomFunction(256, -1));
|
|
assertEquals(256, zoomFunction(128, -1));
|
|
assertEquals(128, zoomFunction(64, -1));
|
|
assertEquals(64, zoomFunction(32, -1));
|
|
assertEquals(32, zoomFunction(16, -1));
|
|
assertEquals(16, zoomFunction(8, -1));
|
|
assertEquals(8, zoomFunction(4, -1));
|
|
assertEquals(4, zoomFunction(2, -1));
|
|
assertEquals(2, zoomFunction(1, -1));
|
|
}
|
|
|
|
|
|
function testSnapToPowerNearestZero() {
|
|
var zoomFunction = ol.control.ZoomFunction.createSnapToPower(2, 1024, 10);
|
|
assertEquals(1024, zoomFunction(1050, 0));
|
|
assertEquals(1024, zoomFunction(9050, 0));
|
|
assertEquals(512, zoomFunction(550, 0));
|
|
assertEquals(512, zoomFunction(450, 0));
|
|
assertEquals(256, zoomFunction(300, 0));
|
|
assertEquals(256, zoomFunction(250, 0));
|
|
assertEquals(128, zoomFunction(150, 0));
|
|
assertEquals(128, zoomFunction(100, 0));
|
|
assertEquals(64, zoomFunction(75, 0));
|
|
assertEquals(64, zoomFunction(50, 0));
|
|
assertEquals(32, zoomFunction(40, 0));
|
|
assertEquals(32, zoomFunction(30, 0));
|
|
assertEquals(16, zoomFunction(20, 0));
|
|
assertEquals(16, zoomFunction(12, 0));
|
|
assertEquals(8, zoomFunction(9, 0));
|
|
assertEquals(8, zoomFunction(7, 0));
|
|
assertEquals(4, zoomFunction(5, 0));
|
|
assertEquals(4, zoomFunction(3.5, 0));
|
|
assertEquals(2, zoomFunction(2.1, 0));
|
|
assertEquals(2, zoomFunction(1.9, 0));
|
|
assertEquals(1, zoomFunction(1.1, 0));
|
|
assertEquals(1, zoomFunction(0.9, 0));
|
|
}
|