summaryrefslogtreecommitdiff
path: root/misc/openlayers/tests/Layer/ArcIMS.html
diff options
context:
space:
mode:
Diffstat (limited to 'misc/openlayers/tests/Layer/ArcIMS.html')
-rw-r--r--misc/openlayers/tests/Layer/ArcIMS.html123
1 files changed, 123 insertions, 0 deletions
diff --git a/misc/openlayers/tests/Layer/ArcIMS.html b/misc/openlayers/tests/Layer/ArcIMS.html
new file mode 100644
index 0000000..4f86227
--- /dev/null
+++ b/misc/openlayers/tests/Layer/ArcIMS.html
@@ -0,0 +1,123 @@
+<html>
+ <head>
+ <script type="text/javascript" src="../OLLoader.js"></script>
+ <script type="text/javascript">
+
+ // use an arcims map service against Avencia Inc.'s global sample map services
+ var serviceName = "OpenLayers_Sample";
+ var layerName = "Global Sample Map";
+ var imsUrl = "http://sample.avencia.com/servlet/com.esri.esrimap.Esrimap";
+
+ //
+ // create an arcims layer
+ //
+ function test_Layer_ArcIMS_constructor( t ) {
+ t.plan(11);
+
+ var options = {
+ serviceName: serviceName,
+ async: false,
+ displayOutsideMaxExtent: true
+ };
+
+ var layer = new OpenLayers.Layer.ArcIMS( layerName, imsUrl, options );
+
+ // check layer & properties
+ t.ok( layer instanceof OpenLayers.Layer.ArcIMS, "new OpenLayers.Layer.ArcIMS returns object" );
+ t.eq( layer.url, imsUrl, "layer.url is correct (HTTPRequest inited)" );
+ t.eq( layer.name, layerName, "layer.name is correct" );
+ t.eq( layer.displayOutsideMaxExtent, options.displayOutsideMaxExtent,
+ "displayOutsideMaxExtent property set correctly from options" );
+
+ // check request parameters
+ t.eq( layer.params.ServiceName, serviceName, "ServiceName set properly" );
+ t.eq( layer.params.ClientVersion, "9.2", "ClientVersion set properly" );
+
+ // check request options
+ t.eq( layer.options.async, options.async, "async property set correctly from options" );
+ t.eq( layer.options.serviceName, serviceName, "serviceName property set correctly from options" );
+ t.eq( layer.options.layers.length, 0, "layers option is the correct length" );
+ t.eq( layer.options.tileSize.w, 512, "default tile width set correctly" );
+ t.eq( layer.options.tileSize.h, 512, "default tile height set correctly" );
+ }
+
+
+
+ /*
+ * how to test getURL, getURLasync, and getFeatureInfo without a proxy?
+ *
+ */
+
+
+ //
+ // Create an arcims layer, and verify that the query changes properly
+ //
+ function test_Layer_ArcIMS_setLayerQuery(t) {
+ t.plan(9);
+
+ var options = { serviceName: serviceName };
+ var layer = new OpenLayers.Layer.ArcIMS( layerName, imsUrl, options );
+ var querydef = {
+ where: "FIPS_CNTRY = 'US'"
+ };
+
+ t.eq( layer.options.layers.length, 0, "layer definitions are empty" );
+
+ layer.setLayerQuery( "layerID", querydef );
+
+ t.eq( layer.options.layers.length, 1, "layers definitions contain one layerdef" );
+ t.ok( layer.options.layers[0].query !== null, "layer query exists" );
+ t.eq( typeof layer.options.layers[0].query.where, "string", "where query is a string" );
+ t.eq( layer.options.layers[0].query.where, querydef.where, "where query matches" );
+
+ // change the definition
+ querydef = {
+ where: "FIPS_CNTRY = 'UV'",
+ spatialfilter:true
+ }
+
+ layer.setLayerQuery( "layerID", querydef );
+
+ t.eq( layer.options.layers.length, 1, "layers definitions contain one layerdef" );
+ t.ok( layer.options.layers[0].query !== null, "layer query exists" );
+ t.eq( typeof layer.options.layers[0].query.where, "string", "where query is a string" );
+ t.eq( layer.options.layers[0].query.where, querydef.where, "where query matches" );
+ }
+ function test_Layer_ArcIMS_clone (t) {
+ t.plan(5);
+
+ var url = imsUrl;
+ var options = {
+ serviceName: serviceName,
+ async: false,
+ displayOutsideMaxExtent: true
+ };
+ var map = new OpenLayers.Map('map', {controls: []});
+ var layer = new OpenLayers.Layer.ArcIMS(name, url, options);
+ map.addLayer(layer);
+
+ layer.grid = [ [6, 7],
+ [8, 9]];
+
+ var clone = layer.clone();
+
+ t.ok( clone.grid != layer.grid, "clone does not copy grid");
+
+ t.ok( clone.tileSize.equals(layer.tileSize), "tileSize correctly cloned");
+
+ t.eq( clone.params.serviceName, layer.params.serviceName, "serviceName copied correctly");
+
+ t.eq( clone.async, layer.async, "async copied correctly");
+
+ t.eq( clone.url, layer.url, "url copied correctly");
+
+ layer.grid = null;
+ map.destroy();
+ }
+
+ </script>
+ </head>
+ <body>
+ <div id="map" style="width:500px;height:550px"></div>
+ </body>
+</html>