summaryrefslogtreecommitdiff
path: root/misc/openlayers/tests/Tile
diff options
context:
space:
mode:
Diffstat (limited to 'misc/openlayers/tests/Tile')
-rw-r--r--misc/openlayers/tests/Tile/Image.html490
-rw-r--r--misc/openlayers/tests/Tile/Image/IFrame.html183
-rw-r--r--misc/openlayers/tests/Tile/UTFGrid.html306
3 files changed, 0 insertions, 979 deletions
diff --git a/misc/openlayers/tests/Tile/Image.html b/misc/openlayers/tests/Tile/Image.html
deleted file mode 100644
index 825c187..0000000
--- a/misc/openlayers/tests/Tile/Image.html
+++ /dev/null
@@ -1,490 +0,0 @@
-<html>
-<head>
- <script src="../OLLoader.js"></script>
- <script type="text/javascript">
- // turn off tile queue, so we can check img urls in tests
- delete OpenLayers.Layer.Grid.prototype.queueTileDraw;
-
- var isMozilla = (navigator.userAgent.indexOf("compatible") == -1);
- var tile;
-
- var map, layer;
- function setUp() {
- map = new OpenLayers.Map("map");
- layer = new OpenLayers.Layer(null, {
- isBaseLayer: true
- });
- map.addLayer(layer)
- map.setCenter(new OpenLayers.LonLat(0, 0));
- }
-
- function tearDown() {
- map.destroy();
- map = null;
- layer = null;
- }
-
- function test_Tile_Image_constructor (t) {
- t.plan( 6 );
-
- setUp();
-
- var position = new OpenLayers.Pixel(20,30);
- var bounds = new OpenLayers.Bounds(1,2,3,4);
- var url = "http://www.openlayers.org/dev/tests/tileimage";
- var size = new OpenLayers.Size(5,6);
- tile = new OpenLayers.Tile.Image(layer, position, bounds, url, size);
-
- t.ok( tile instanceof OpenLayers.Tile.Image, "new OpenLayers.Tile returns Tile object" );
- t.ok( tile.layer == layer, "tile.layer is set correctly");
- t.ok( tile.position.equals(position), "tile.position is set correctly");
- t.ok( tile.bounds.equals(bounds), "tile.bounds is set correctly");
- t.eq( tile.url, url, "tile.url is set correctly");
- t.ok( tile.size.equals(size), "tile.size is set correctly");
-
- tearDown();
- }
-
- function test_destroy_observers(t) {
- t.plan(2);
-
- var map = new OpenLayers.Map('map');
- var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
- "../../img/blank.gif", {layers: 'basic'});
- map.addLayer(layer);
-
- var position = new OpenLayers.Pixel(20,30);
- var bounds = new OpenLayers.Bounds(1,2,3,4);
- var size = new OpenLayers.Size(5,6);
-
- // with alpha hack
- var withAlpha = new OpenLayers.Tile.Image(layer, position, bounds, null, size);
- withAlpha.layerAlphaHack = true;
-
- withAlpha.draw();
- var cacheID = withAlpha.imgDiv._eventCacheID;
- withAlpha.destroy();
-
- t.eq(OpenLayers.Event.observers[cacheID], undefined,
- "With alpha hack: imgDiv observers are cleared in destroy");
-
- // without alpha hack
- var withoutAlpha = new OpenLayers.Tile.Image(layer, position, bounds, null, size);
- withoutAlpha.layerAlphaHack = false;
-
- withoutAlpha.draw();
- var cacheID = withoutAlpha.imgDiv._eventCacheID;
- withoutAlpha.destroy();
-
- t.eq(OpenLayers.Event.observers[cacheID], undefined,
- "Without alpha hack: imgDiv observers are cleared in destroy");
-
- map.destroy();
- }
-
- function test_Tile_Image_async (t) {
- t.plan( 3 );
- var map = new OpenLayers.Map('map');
- var layer = new OpenLayers.Layer.WMS(
- "Name",
- "../../img/blank.gif",
- {layers: 'basic'}, {async: true, getURLasync: function(bounds, callback, scope) {
- callback.call(scope, this.getURL(bounds));
- }}
- );
- map.addLayer(layer);
-
- var position = new OpenLayers.Pixel(20,30);
- var bounds = new OpenLayers.Bounds(1,2,3,4);
- tile = layer.addTile(bounds, position);
- tile.renderTile();
- t.delay_call(0.1, function() {
- var expected = new Image();
- expected.src = layer.getURL(bounds);
- t.eq(tile.imgDiv.src, expected.src, "image src correct for async request");
- t.eq(tile.asyncRequestId, 1, "asyncRequestId correct after renderTile");
- tile.renderTile();
- });
- t.delay_call(0.2, function() {
- t.eq(tile.asyncRequestId, 2, "asyncRequestId correct after subsequent renderTile");
- tile.destroy();
- layer.destroy();
- map.destroy();
- });
- }
-
- function test_Tile_Image_draw (t) {
- t.plan(7);
-
- var map = new OpenLayers.Map('map');
-
- var size = new OpenLayers.Size(5,6);
- layer = new OpenLayers.Layer.WMS("Name",
- "../../img/blank.gif",
- null,
- {tileSize: size});
- map.addLayer(layer);
- var position = new OpenLayers.Pixel(20,30);
- var bounds = new OpenLayers.Bounds(1,2,3,4);
- var url = "http://www.openlayers.org/dev/tests/tileimage";
- tile = new OpenLayers.Tile.Image(layer, position, bounds, url, size);
-
- tile.events.register("loadstart", this, function() {
- t.ok(true, "loadstart triggered");
- });
- tile.events.register("reload", this, function() {
- t.ok(true, "reload triggered");
- });
-
- //this should trigger a "loadstart" event
- tile.draw();
-
- if (!isMozilla)
- t.ok( true, "skipping element test outside of Mozilla");
- else
- t.ok( tile.imgDiv instanceof HTMLElement, "tile.draw creates an image");
- var tParams = {
- SERVICE: "WMS", VERSION: "1.1.1",
- REQUEST: "GetMap", STYLES: "",
- FORMAT: "image/jpeg",
- SRS: "EPSG:4326", BBOX: [1,2,3,4],
- WIDTH: String(size.w), HEIGHT: String(size.h)
- };
- var expected = new Image();
- expected.src = "../../img/blank.gif?" + OpenLayers.Util.getParameterString(tParams)
- t.delay_call(0.1, function() {
- t.eq( tile.imgDiv.src, expected.src, "tile.draw creates an image");
- });
- t.eq( tile.imgDiv.style.width, "5px", "Image width is correct" );
- t.eq( tile.imgDiv.style.height, "6px", "Image height is correct" );
- t.ok( tile.imgDiv.parentNode === layer.div, "Image is directly appended to the layer div" );
-
- // this should trigger a "reload" event (since the image never actually
- // loads in tests)
- tile.draw();
-
- }
- function test_Tile_Image_OutsideMaxExtent(t) {
- t.plan( 11 );
- var position = new OpenLayers.Pixel(20,30);
- var bounds = new OpenLayers.Bounds(1,2,3,4);
- var url = "http://www.openlayers.org/dev/tests/tileimage";
- var size = new OpenLayers.Size(5,6);
- var map = new OpenLayers.Map('map');
- var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
- "../../img/blank.gif", {layers: 'basic'}, {encodeBBOX: true});
- map.addLayer(layer);
- tile = new OpenLayers.Tile.Image(layer, position, new OpenLayers.Bounds(-185,-90,-180,90), url, size);
- tile.draw()
- t.eq(tile.imgDiv, null, "Images against side of maxextent don't load");
- tile = new OpenLayers.Tile.Image(layer, position, new OpenLayers.Bounds(-181,-91,180,90), url, size);
- tile.draw()
- var tParams = {
- LAYERS: "basic", SERVICE: "WMS", VERSION: "1.1.1",
- REQUEST: "GetMap", STYLES: "",
- FORMAT: "image/jpeg",
- SRS: "EPSG:4326", BBOX: "-181,-91,180,90",
- WIDTH: "256", HEIGHT: "256"
- };
- t.eq(tile.url,
- "../../img/blank.gif?" + OpenLayers.Util.getParameterString(tParams),
- "Images over edges of maxextent do load");
- tile = new OpenLayers.Tile.Image(layer, position, new OpenLayers.Bounds(-181,-90,180,90), url, size);
- tile.draw()
- tParams = OpenLayers.Util.extend(tParams, {BBOX: "-181,-90,180,90"});
- t.eq(tile.url,
- "../../img/blank.gif?" + OpenLayers.Util.getParameterString(tParams),
- "Images over edges of maxextent do load");
- tile = new OpenLayers.Tile.Image(layer, position, new OpenLayers.Bounds(-180,-90,180,90), url, size);
- tile.draw()
- tParams = OpenLayers.Util.extend(tParams, {BBOX: "-180,-90,180,90"});
- t.eq(tile.url,
- "../../img/blank.gif?" + OpenLayers.Util.getParameterString(tParams),
- "Image covering all of extent loads");
- tile = new OpenLayers.Tile.Image(layer, position, new OpenLayers.Bounds(-80,-45,80,45), url, size);
- tile.draw()
- tParams = OpenLayers.Util.extend(tParams, {BBOX: "-80,-45,80,45"});
- t.eq(tile.url,
- "../../img/blank.gif?" + OpenLayers.Util.getParameterString(tParams),
- "Image covering small part of extent loads");
- tile = new OpenLayers.Tile.Image(layer, position, new OpenLayers.Bounds(-185,-95,185,95), url, size);
- tile.draw()
- tParams = OpenLayers.Util.extend(tParams, {BBOX: "-185,-95,185,95"});
- t.eq(tile.url,
- "../../img/blank.gif?" + OpenLayers.Util.getParameterString(tParams),
- "Image covering more than all of extent loads");
-
- layer.displayOutsideMaxExtent=1;
- tile = new OpenLayers.Tile.Image(layer, position, new OpenLayers.Bounds(-185,-90,-180,90), url, size);
- tile.draw()
- tParams = OpenLayers.Util.extend(tParams, {BBOX: "-185,-90,-180,90"});
- t.eq(tile.url,
- "../../img/blank.gif?" + OpenLayers.Util.getParameterString(tParams),
- "Images against side of maxextent do load with displayOutsideMaxExtent");
- tile = new OpenLayers.Tile.Image(layer, position, new OpenLayers.Bounds(-181,-90,180,90), url, size);
- tile.draw()
- tParams = OpenLayers.Util.extend(tParams, {BBOX: "-181,-90,180,90"});
- t.eq(tile.url,
- "../../img/blank.gif?" + OpenLayers.Util.getParameterString(tParams),
- "Images over edges of maxextent do load with displayOutsideMaxExtent set");
- tile = new OpenLayers.Tile.Image(layer, position, new OpenLayers.Bounds(-180,-90,180,90), url, size);
- tile.draw()
- tParams = OpenLayers.Util.extend(tParams, {BBOX: "-180,-90,180,90"});
- t.eq(tile.url,
- "../../img/blank.gif?" + OpenLayers.Util.getParameterString(tParams),
- "Image covering all of extent loads with display outside max extent");
- tile = new OpenLayers.Tile.Image(layer, position, new OpenLayers.Bounds(-80,-45,80,45), url, size);
- tile.draw()
- tParams = OpenLayers.Util.extend(tParams, {BBOX: "-80,-45,80,45"});
- t.eq(tile.url,
- "../../img/blank.gif?" + OpenLayers.Util.getParameterString(tParams),
- "Image covering small part of extent loads with display outside max extent");
- tile = new OpenLayers.Tile.Image(layer, position, new OpenLayers.Bounds(-185,-95,185,95), url, size);
- tile.draw()
- tParams = OpenLayers.Util.extend(tParams, {BBOX: "-185,-95,185,95"});
- t.eq(tile.url,
- "../../img/blank.gif?" + OpenLayers.Util.getParameterString(tParams),
- "Image covering more than all of extent loads");
- }
- function test_Tile_Image_Display_After_Move(t) {
- t.plan(2);
- var position = new OpenLayers.Pixel(20,30);
- var bounds = new OpenLayers.Bounds(1,2,3,4);
- var url = "http://www.openlayers.org/dev/tests/tileimage";
- var size = new OpenLayers.Size(5,6);
- var map = new OpenLayers.Map('map');
- var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
- "../../img/blank.gif", {layers: 'basic'});
- map.addLayer(layer);
- map.zoomToMaxExtent();
- tile = new OpenLayers.Tile.Image(layer, position, new OpenLayers.Bounds(-90,-85,-90,85), url, size);
- tile.draw();
- tile.moveTo(new OpenLayers.Bounds(-185,-90,-180,-80), new OpenLayers.Pixel(-180,-85), true);
- t.delay_call( 1, function() { t.ok(!tile.imgDiv, "Reference to tile image removed.") } );
- var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
- "../../img/blank.gif", {layers: 'basic'}, {'alpha':true});
- map.addLayer(layer);
- tile = new OpenLayers.Tile.Image(layer, position, new OpenLayers.Bounds(-90,-85,-90,85), url, size);
- tile.draw();
- tile.moveTo(new OpenLayers.Bounds(-185,-90,-180,-80), new OpenLayers.Pixel(-180,-85), true)
- t.delay_call( 1, function() { t.ok(!tile.imgDiv, "Reference to alpha tile image removed.") } );
-
- }
-
- function test_Tile_Image_gutters(t) {
- t.plan(5);
-
- var gutter = 0;
- var name = 'Test Layer';
- var url = "http://octo.metacarta.com/cgi-bin/mapserv";
- var params = { map: '/mapdata/vmap_wms.map',
- layers: 'basic',
- format: 'image/png'};
-
-
- var map = new OpenLayers.Map('map', {tileManager: null});
- var layer = new OpenLayers.Layer.WMS(name, url, params, {gutter: gutter});
- map.addLayer(layer);
- map.setCenter(new OpenLayers.LonLat(0,0), 5);
-
- var tile = layer.grid[0][0];
- t.ok(tile.layer.imageSize == null,
- "zero size gutter doesn't set image size");
-
- var zero_gutter_bounds = tile.bounds;
-
- map.destroy();
-
- var gutter = 15;
- var map = new OpenLayers.Map('map', {tileManager: null});
- var layer = new OpenLayers.Layer.WMS(name, url, params, {gutter: gutter});
- map.addLayer(layer);
- map.setCenter(new OpenLayers.LonLat(0,0), 5);
- var tile = layer.grid[0][0];
- t.ok(tile.layer.imageSize.equals(new OpenLayers.Size(tile.size.w + (2 * gutter),
- tile.size.h + (2 * gutter))),
- "gutter properly changes image size");
-
- var offsetLeft = -(gutter / layer.tileSize.w * 100) | 0;
- var offsetTop = -(gutter / layer.tileSize.h * 100) | 0;
- t.eq(parseInt(tile.imgDiv.style.left, 10), offsetLeft,
- "gutter properly sets image left style");
- t.eq(parseInt(tile.imgDiv.style.top, 10), offsetTop,
- "gutter properly sets image top style");
- t.ok(tile.bounds.equals(zero_gutter_bounds),
- "gutter doesn't affect tile bounds");
-
- map.destroy();
- }
-
- function test_createBackBuffer(t) {
- t.plan(3);
-
- var map = new OpenLayers.Map('map', {tileManager: null});
- var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
- "../../img/blank.gif", {layers: 'basic'});
- map.addLayer(layer);
- map.setCenter(new OpenLayers.LonLat(0,0), 5);
- var tile = layer.grid[0][0];
-
- // we're going to create a back buffer while the image
- // is actually loading, so we call stopObservingElement
- // to avoid any unexpected behavior
- tile.isLoading = false;
- OpenLayers.Event.stopObservingElement(tile.imgDiv);
-
- var img = tile.imgDiv;
- var left = img.style.left;
- var bb = tile.createBackBuffer();
- t.eq(bb.style.left, left, "backbuffer has same left style as frame");
- t.ok(bb === img, "image appended to bb");
- t.ok(tile.imgDiv == null, "image reference removed from tile");
- map.destroy();
- }
-
- function test_onImageLoad(t) {
- t.plan(3);
-
- var map = new OpenLayers.Map('map', {tileManager: null});
- var layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
- "../../img/blank.gif", {layers: 'basic'}, {opacity: 0.5});
- map.addLayer(layer);
- map.setCenter(new OpenLayers.LonLat(0,0), 5);
-
- var tile = layer.grid[0][0];
-
- var log;
- tile.events.on({loadend: function() { log++; }});
-
- log = 0;
- tile.onImageLoad();
- t.eq(tile.imgDiv.style.visibility, 'inherit',
- 'onImageLoad makes the image visible');
- t.eq(parseFloat(tile.imgDiv.style.opacity), 0.5,
- 'onImageLoad sets the expected opacity for the image');
- t.eq(log, 1,
- 'onImageLoad does trigger loadend');
-
- map.destroy();
- }
-
- function test_getCanvasContext(t) {
- if (!OpenLayers.CANVAS_SUPPORTED) {
- t.plan(0);
- } else {
- t.plan(1);
-
- var map = new OpenLayers.Map('map');
- var layer = new OpenLayers.Layer.WMS("blank",
- "../../img/blank.gif", {layers: 'fake'});
- map.addLayer(layer);
- map.setCenter(new OpenLayers.LonLat(0, 0), 5);
-
- t.delay_call(5, function() {
- var tile = layer.grid[0][0];
- tile.onImageLoad();
- t.ok(tile.getCanvasContext() instanceof CanvasRenderingContext2D,
- "getCanvasContext() returns CanvasRenderingContext2D instance");
- map.destroy();
- });
- }
- }
-
- /*
- * A series of tests to verify the dimensions and positions
- * of the tile frame and img after draw.
-
- * Written for https://github.com/openlayers/openlayers/issues/441
- */
- function test_draw_without_gutter_without_frame(t) {
- t.plan(5);
-
- var map = new OpenLayers.Map('map');
- var layer = new OpenLayers.Layer.WMS('blank',
- '../../img/blank.gif',
- {layers: 'fake'},
- {isBaseLayer: true});
- map.addLayer(layer);
- var tile = new OpenLayers.Tile.Image(
- layer,
- new OpenLayers.Pixel(6, 6),
- new OpenLayers.Bounds(5, 45, 6, 46),
- null,
- new OpenLayers.Size(256, 256));
-
- tile.draw();
- t.eq(tile.frame, null, 'no frame');
- t.eq(parseInt(tile.imgDiv.style.left, 10), 6, 'correct tile img left');
- t.eq(parseInt(tile.imgDiv.style.top, 10), 6, 'correct tile img top');
- t.eq(parseInt(tile.imgDiv.style.width, 10), 256, 'correct tile img width');
- t.eq(parseInt(tile.imgDiv.style.height, 10), 256, 'correct tile img height');
-
- map.destroy();
- }
- function test_draw_without_gutter_with_frame(t) {
- t.plan(8);
-
- var map = new OpenLayers.Map('map');
- var layer = new OpenLayers.Layer.WMS('blank',
- '../../img/blank.gif',
- {layers: 'fake'},
- {isBaseLayer: true});
- map.addLayer(layer);
- layer.gutter = 1; // this is just for a frame to be created for
- // the tile
- var tile = new OpenLayers.Tile.Image(
- layer,
- new OpenLayers.Pixel(6, 6),
- new OpenLayers.Bounds(5, 45, 6, 46),
- null,
- new OpenLayers.Size(256, 256));
- layer.gutter = null;
-
- tile.draw();
- t.eq(parseInt(tile.frame.style.left, 10), 6, 'correct tile frame left');
- t.eq(parseInt(tile.frame.style.top, 10), 6, 'correct tile frame top');
- t.eq(parseInt(tile.frame.style.width, 10), 256, 'correct tile frame width');
- t.eq(parseInt(tile.frame.style.height, 10), 256, 'correct tile frame height');
- t.eq(parseInt(tile.imgDiv.style.left, 10), 0, 'correct tile img left');
- t.eq(parseInt(tile.imgDiv.style.top, 10), 0, 'correct tile img top');
- t.eq(parseInt(tile.imgDiv.style.width, 10), 100, 'correct tile img width');
- t.eq(parseInt(tile.imgDiv.style.height, 10), 100, 'correct tile img height');
-
- map.destroy();
- }
- function test_draw_with_gutter(t) {
- t.plan(8);
-
- var map = new OpenLayers.Map('map');
- var layer = new OpenLayers.Layer.WMS('blank',
- '../../img/blank.gif',
- {layers: 'fake'},
- {isBaseLayer: true, gutter: 15});
- map.addLayer(layer);
- var tile = new OpenLayers.Tile.Image(
- layer,
- new OpenLayers.Pixel(6, 6),
- new OpenLayers.Bounds(5, 45, 6, 46),
- null,
- new OpenLayers.Size(256, 256));
-
- tile.draw();
- t.eq(parseInt(tile.frame.style.left, 10), 6, 'correct tile frame left');
- t.eq(parseInt(tile.frame.style.top, 10), 6, 'correct tile frame top');
- t.eq(parseInt(tile.frame.style.width, 10), 256, 'correct tile frame width');
- t.eq(parseInt(tile.frame.style.height, 10), 256, 'correct tile frame height');
- t.eq(parseInt(tile.imgDiv.style.left, 10), -5, 'correct tile img left');
- t.eq(parseInt(tile.imgDiv.style.top, 10), -5, 'correct tile img top');
- t.eq(parseInt(tile.imgDiv.style.width, 10), 111, 'correct tile img width');
- t.eq(parseInt(tile.imgDiv.style.height, 10), 111, 'correct tile img height');
-
- map.destroy();
- }
-
- </script>
-</head>
-<body>
-<div id="map" style="height:550px;width:500px"></div>
-</body>
-</html>
-
diff --git a/misc/openlayers/tests/Tile/Image/IFrame.html b/misc/openlayers/tests/Tile/Image/IFrame.html
deleted file mode 100644
index 192c7c6..0000000
--- a/misc/openlayers/tests/Tile/Image/IFrame.html
+++ /dev/null
@@ -1,183 +0,0 @@
-<html>
-<head>
- <script src="../../OLLoader.js"></script>
- <script type="text/javascript">
- // turn off animation frame handling, so we can check img urls in tests
- delete OpenLayers.Layer.Grid.prototype.queueTileDraw;
-
- var isMozilla = (navigator.userAgent.indexOf("compatible") == -1);
- var isOpera = (navigator.userAgent.indexOf("Opera") != -1);
- var isIElt9 = (parseFloat(navigator.appVersion.split("MSIE")[1]) < 9);
-
- var map, layer;
- var position = new OpenLayers.Pixel(20,30);
- var bounds = new OpenLayers.Bounds(1,2,3,4);
- var url = "http://www.openlayers.org/dev/tests/tileimage";
- var size = new OpenLayers.Size(5,6);
- var name = "OpenaLayers WMS";
- var wmsUrl = "http://labs.metacarta.com/wms/vmap0?";
-
- function test_Tile_Image_IFrame_create (t) {
- t.plan( 3 );
- map = new OpenLayers.Map('map', {tileManager: null});
- var bar = new Array(205).join("1234567890");
- layer = new OpenLayers.Layer.WMS(name, wmsUrl,
- {layers: 'basic', foo: bar},
- {tileOptions: {maxGetUrlLength: 2048},
- transitionEffect: 'resize'});
- map.addLayer(layer);
-
- var tile = layer.addTile(bounds, position);
-
- tile.draw();
- t.eq(tile.imgDiv.nodeName.toLowerCase(), "iframe", "IFrame used for long URL");
-
- layer.mergeNewParams({foo: null});
- tile.draw();
- t.eq(tile.imgDiv.nodeName.toLowerCase(), "img", "IMG used for short URL");
-
- tile.maxGetUrlLength = 0;
- tile.draw();
- t.eq(tile.imgDiv.nodeName.toLowerCase(), "iframe", "IFrame used when maxGetUrlLength is 0");
-
- tile.destroy();
- layer.destroy();
- map.destroy();
- }
-
- function test_Tile_Image_IFrame_clear (t) {
- t.plan( 1 );
-
- map = new OpenLayers.Map('map');
- layer = new OpenLayers.Layer.WMS(name, wmsUrl, {layers: 'basic'}, {tileOptions: {maxGetUrlLength: 0}});
- map.addLayer(layer);
- tile = layer.addTile(bounds, position);
- tile.draw();
- tile.clear();
-
- t.eq(
- tile.frame.getElementsByTagName("iframe").length, 0,
- "IFrame removed on clear()");
- tile.destroy();
- layer.destroy();
- map.destroy();
- }
-
- function test_Tile_Image_IFrame_initImage (t) {
- t.plan( 2 );
-
- map = new OpenLayers.Map('map');
- layer = new OpenLayers.Layer.WMS(name, wmsUrl, {layers: 'basic'}, {tileOptions: {maxGetUrlLength: 0}});
- map.addLayer(layer);
- tile = layer.addTile(bounds, position);
- tile.url = layer.getURL(bounds);
- tile.initImage();
-
- if(isMozilla) {
- t.ok( tile.imgDiv instanceof HTMLElement, "tile.iFrame successfully created.");
- }
- else {
- t.ok( tile.imgDiv != null, "tile.iFrame successfully created.");
- }
- t.eq( tile.imgDiv.className, "olTileImage", "iFrame's className correctly set.");
-
- map.destroy();
- }
-
- function test_Tile_Image_IFrame_createImage (t) {
- t.plan( 9 );
-
- map = new OpenLayers.Map('map', {tileManager: null});
- layer = new OpenLayers.Layer.WMS(name, wmsUrl, {layers: 'basic'}, {tileOptions: {maxGetUrlLength: 0}});
- map.addLayer(layer);
- var tile = layer.addTile(bounds, position);
- tile.draw();
- var iFrame = tile.imgDiv;
- var eventPane = tile.frame.childNodes[0];
-
- t.ok(OpenLayers.String.contains(eventPane.style.backgroundImage,
- tile.blankImageUrl),
- "backgroundImage of eventPane is set.");
- t.eq(parseInt(eventPane.style.zIndex, 10), 1, "zIndex of eventPane is set.");
- if(isIElt9) {
- t.ok(iFrame != null, "IFrame successfully created.");
- t.eq(iFrame.style.backgroundColor, '#ffffff', "backgroundColor correctly set.");
- t.eq(iFrame.style.filter, 'chroma(color=#FFFFFF)', "filter correctly set.");
- } else {
- t.ok(iFrame instanceof HTMLElement, "IFrame successfully created.");
- t.ok(true, 'Skip IFrame backgroundColor test outside IE < 9');
- t.ok(true, 'Skip IFrame filter test outside IE < 9');
- }
- t.eq( iFrame.scrolling, 'no', "no scrolling");
- t.eq( parseFloat(iFrame.marginWidth), 0, "no margin width");
- t.eq( parseFloat(iFrame.marginHeight), 0, "no margin height");
- t.eq( parseFloat(iFrame.frameBorder), 0, "no iframe border");
-
- map.destroy();
- }
-
- function test_Tile_Image_IFrame_createRequestForm (t) {
- t.plan( 6 );
-
- var tParams = {
- SERVICE: "WMS", VERSION: "1.1.1",
- REQUEST: "GetMap", STYLES: "",
- FORMAT: "image/jpeg",
- SRS: "EPSG:4326", BBOX: [1,2,3,4],
- WIDTH: String(size.w), HEIGHT: String(size.h)
- };
- var newLayer = new OpenLayers.Layer.WMS("Name",
- "http://labs.metacarta.com/TESTURL",
- tParams,
- {tileSize: size, tileOptions: {maxGetUrlLength: 0}});
- map = new OpenLayers.Map('map');
- map.addLayer(newLayer);
- tile = newLayer.addTile(bounds, position);
- tile.url = newLayer.getURL(bounds);
- tile.initImage();
-
- tile.url = newLayer.getURL(bounds);
- var form = tile.createRequestForm();
- if(isMozilla) {
- t.ok( form instanceof HTMLElement, "created html form successfully.");
- }
- else {
- t.ok( form != null, "created html form successfully.");
- }
-
-
- var cacheId = newLayer.params["_OLSALT"];
- cacheId = (cacheId ? cacheId + "_" : "") + tile.bounds.toBBOX();
- var url = OpenLayers.Util.urlAppend(newLayer.url, cacheId);
-
- t.eq( form.method.toLowerCase(), 'post', "form method correctly set.");
- t.eq( form.target, tile.id+'_iFrame', "form target correctly set.");
- t.eq( form.action, url, "form action correctly set.");
-
- var formParams = {};
- var children = form.childNodes;
- for(var i=0; i<form.childNodes.length; i++) {
- formParams[children[i].name] = children[i].value
- }
- newLayer.params.BBOX = newLayer.params.BBOX.join(",");
- t.eq(newLayer.params, formParams, "html form elements equal layer's parameters.");
-
- tile.draw();
- tile.clear();
- tile.initImage();
- tile.createRequestForm();
- t.ok(
- tile.imgDiv.nodeName == "IFRAME",
- "Iframe has been reinserted properly"
- );
-
- tile.destroy();
- newLayer.destroy();
- map.destroy();
- }
-</script>
-</head>
-<body>
-<div id="map" style="height:550px;width:500px"></div>
-</body>
-</html>
diff --git a/misc/openlayers/tests/Tile/UTFGrid.html b/misc/openlayers/tests/Tile/UTFGrid.html
deleted file mode 100644
index 4998adc..0000000
--- a/misc/openlayers/tests/Tile/UTFGrid.html
+++ /dev/null
@@ -1,306 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
- <script>
- /**
- * Because browsers that implement requestAnimationFrame may not execute
- * animation functions while a window is not displayed (e.g. in a hidden
- * iframe as in these tests), we mask the native implementations here. The
- * native requestAnimationFrame functionality is tested in Util.html and
- * in PanZoom.html (where a popup is opened before panning). The panTo tests
- * here will test the fallback setTimeout implementation for animation.
- */
- window.requestAnimationFrame =
- window.webkitRequestAnimationFrame =
- window.mozRequestAnimationFrame =
- window.oRequestAnimationFrame =
- window.msRequestAnimationFrame = null;
- </script>
- <script src="../OLLoader.js"></script>
- <script type="text/javascript">
-
- var map, layer;
- function setUp() {
- layer = new OpenLayers.Layer.UTFGrid({
- url: "../data/utfgrid/world_utfgrid/${z}/${x}/${y}.json",
- isBaseLayer: true,
- utfgridResolution: 4
- });
- map = new OpenLayers.Map({
- div: "map",
- projection: "EPSG:900913",
- layers: [layer],
- center: [0, 0],
- zoom: 1,
- tileManager: null
- });
- }
-
- function tearDown() {
- map.destroy();
- map = null;
- layer = null;
- }
-
- function test_constructor(t) {
- t.plan(7);
-
- setUp();
-
- var position = new OpenLayers.Pixel(20, 30);
- var bounds = new OpenLayers.Bounds(1, 2, 3, 4);
- var url = "http://example.com/";
- var size = new OpenLayers.Size(5, 6);
- var tile = new OpenLayers.Tile.UTFGrid(layer, position, bounds, url, size);
-
- t.ok(tile instanceof OpenLayers.Tile, "tile instance");
- t.ok(tile instanceof OpenLayers.Tile.UTFGrid, "UTFGrid tile instance");
- t.ok(tile.layer === layer, "layer set");
- t.ok(tile.position.equals(position), "position set");
- t.ok(tile.bounds.equals(bounds), "bounds set");
- t.eq(tile.url, url, "url set");
- t.ok(tile.size.equals(size), "size set");
-
- tearDown();
- }
-
- function test_parseData(t) {
- t.plan(2);
- setUp();
-
- var tile = layer.grid[0][0];
-
- tile.parseData('{"foo": "bar"}');
- t.eq(tile.json, {foo: "bar"}, "valid json parsed");
-
- var err, obj;
- try {
- obj = tile.parseData('foo bar');
- } catch (e) {
- err = e;
- }
- // The JSON format doesn't actually throw on IE6, so we also check
- // for undefined here.
- t.ok(err instanceof Error || obj === undefined, "throws on invalid json");
-
- tearDown();
- }
-
- function test_draw(t) {
- t.plan(7);
- setUp();
-
- var position = new OpenLayers.Pixel(20, 30);
- var bounds = new OpenLayers.Bounds(1, 2, 3, 4);
- var url = "../data/utfgrid/world_utfgrid/${z}/${x}/${y}.json";
- var size = new OpenLayers.Size(256, 256);
- var tile = new OpenLayers.Tile.UTFGrid(layer, position, bounds, url, size);
-
- var log = [];
- function logger(event) {
- log.push(event);
- }
- tile.events.on({
- loadstart: logger,
- reload: logger,
- loadend: logger
- });
-
- t.eq(log.length, 0, "no events logged");
-
- // start tile loading
- tile.draw();
- t.eq(log.length, 1, "[first draw] one event");
- t.eq(log[0].type, "loadstart", "[first draw] loadstart");
-
- // restart tile loading
- log.length = 0;
- tile.draw();
- t.eq(log.length, 1, "[second draw] first event");
- t.eq(log[0].type, "reload", "[second draw] reload");
-
- // wait for tile loading to finish
- t.delay_call(1, function() {
- t.eq(log.length, 2, "[second draw] second event");
- t.eq(log[1].type, "loadend", "[second draw] loadend");
- tearDown();
- });
-
- }
-
- function test_abortLoading(t) {
- t.plan(7);
- setUp();
-
- var position = new OpenLayers.Pixel(20, 30);
- var bounds = new OpenLayers.Bounds(1, 2, 3, 4);
- var url = "../data/utfgrid/world_utfgrid/${z}/${x}/${y}.json";
- var size = new OpenLayers.Size(256, 256);
- var tile = new OpenLayers.Tile.UTFGrid(layer, position, bounds, url, size);
-
- var log = [];
- function logger(event) {
- log.push(event);
- }
- tile.events.on({
- loadstart: logger,
- reload: logger,
- loadend: logger
- });
-
- t.eq(log.length, 0, "no events logged");
-
- // start tile loading
- tile.draw();
- t.eq(log.length, 1, "[first draw] one event");
- t.eq(log[0].type, "loadstart", "[first draw] loadstart");
-
- // abort tile loading
- log.length = 0;
- tile.abortLoading();
- t.eq(log.length, 0, "[first abort] no events logged"); // TODO: does anybody need an abort event?
-
- // abort again for the heck of it
- var err;
- try {
- tile.abortLoading();
- } catch (e) {
- err = e;
- }
- t.ok(!err, "[second abort] no trouble");
- t.eq(log.length, 0, "[second abort] no events");
-
- // wait to confirm tile loading doesn't happen after abort
- t.delay_call(1, function() {
- t.eq(log.length, 0, "[wait] no events");
- tearDown();
- });
-
- }
-
- function test_getFeatureId(t) {
- t.plan(3);
- setUp();
-
- var tile = layer.grid[1][1];
- t.delay_call(0.5, function() {
- var id = tile.getFeatureId(16, 60);
- t.eq(id, "238", "feature 238 at 16, 60");
- t.eq(tile.getFeatureId(18, 63), id, "same feature at 18, 63");
-
- t.eq(tile.getFeatureId(300, 10), null, "null id outside tile");
-
- tearDown();
- });
- }
-
- function test_getFeatureInfo(t) {
- t.plan(3);
- setUp();
-
- var tile = layer.grid[1][1];
- t.delay_call(0.5, function() {
- var info = tile.getFeatureInfo(16, 60);
- var exp = {
- id: "238",
- data: {
- NAME: "Svalbard",
- POP2005: 0
- }
- };
- t.eq(info, exp, "feature info at 16, 60");
- t.eq(tile.getFeatureInfo(17, 62), exp, "same feature at 17, 62");
-
- t.eq(tile.getFeatureInfo(300, 10), null, "undefined outside tile");
-
- tearDown();
- });
- }
-
- // While I dislike committing tests that aren't run, I'd like to make an
- // exception here. This test (or something like it) should pass. When
- // https://github.com/mapbox/utfgrid-spec/issues/1 is resolved, we should
- // either modify this or update demo.json and enable the test.
- function xtest_getFeatureId_demo(t) {
- /**
- * The UTFGrid 1.2 spec (https://github.com/mapbox/utfgrid-spec/blob/master/1.2/utfgrid.md)
- * links to a demo.json to be used for testing implementations. This
- * file is constructed with 256x256 data points. Each data point maps
- * to a "feature id" using this heuristic:
- *
- * // x and y are pixel offsets from top left of 256x256 tile
- * if (y < 255 || x < 222) {
- * id = (y * 256) + x
- * } else {
- * id = 65501; // max number of ids that can be encoded
- * }
- */
- t.plan(1);
- setUp();
-
- // look at this beauty of a constructor
- var tile = new OpenLayers.Tile.UTFGrid(
- layer, // layer
- new OpenLayers.Pixel(0, 0), // position
- new OpenLayers.Bounds(0, 0, 256, 256), // bounds
- "../data/utfgrid/demo-1.1.json", // url
- new OpenLayers.Size(256, 256), // size
- {utfgridResolution: 1} // options
- );
-
- var err;
- var request = new OpenLayers.Request.GET({
- url: tile.url,
- success: function(req) {
- try {
- tile.parseData(req.responseText);
- } catch (e) {
- err = e;
- }
- },
- failure: function(req) {
- err = new Error("Failed to fetch json. Status: " + req.status);
- }
- });
-
- // wait for response and parsing, then make assertions
- t.delay_call(1, function() {
- if (err) {
- t.fail(err);
- } else {
- var got, exp, failure;
- outer: for (var y=0; y<256; ++y) {
- for (var x=0; x<256; ++x) {
- if (y<255 || x<222) {
- exp = String((y * 256) + x);
- } else {
- exp = "65501";
- }
- got = tile.getFeatureId(x, y);
- if (got !== exp) {
- failure = "Failed to get id for (" + x + ", " + y + "): " +
- "got " + got + " but expected " + exp;
-
- break outer;
- }
- }
- }
- if (!failure) {
- t.ok(true, "resolved feature ids for all data points");
- } else {
- t.fail(failure);
- }
- }
- tearDown();
- });
-
- }
-
- </script>
-</head>
-<body>
-<div id="map" style="height:550px;width:500px"></div>
-</body>
-</html>
-