OpenLayers OpenLayers

Changeset 3290

Show
Ignore:
Timestamp:
06/07/07 18:03:15 (1 year ago)
Author:
euzuro
Message:

fix for #678 - WMS specs say that *values* and not *parameters* are case sensitive, and the parameter 'transparent' is to be interpreted as true only when its value is 'TRUE'. Previous to this patch, we were only testing if it was equal to 'true'. Now we test for both. This patch applies the same logic to WMS.js and to WMS/Untiled.js, as well as providing some tests to make sure that it works. Thanks and a shout out to gmailer kablukiw wherever s/he may be for the great bug find and report

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/openlayers/lib/OpenLayers/Layer/WMS.js

    r2979 r3290  
    4848        // it will be an overlay 
    4949        if (options == null || options.isBaseLayer == null) { 
    50             this.isBaseLayer = ((this.params.TRANSPARENT != "true") &&  
     50            this.isBaseLayer = ((this.params.TRANSPARENT != "TRUE") &&  
     51                                (this.params.TRANSPARENT != "true") &&  
    5152                                (this.params.TRANSPARENT != true)); 
    5253        } 
  • trunk/openlayers/lib/OpenLayers/Layer/WMS/Untiled.js

    r3163 r3290  
    5858        // it will be an overlay         
    5959        if ((options == null) || (options.isBaseLayer == null)) { 
    60             this.isBaseLayer = ((this.params.TRANSPARENT != "true") &&  
     60            this.isBaseLayer = ((this.params.TRANSPARENT != "TRUE") &&  
     61                                (this.params.TRANSPARENT != "true") &&  
    6162                                (this.params.TRANSPARENT != true)); 
    6263        } 
  • trunk/openlayers/tests/Layer/test_WMS.html

    r2979 r3290  
    1414 
    1515    function test_01_Layer_WMS_constructor (t) { 
    16         t.plan( 4 ); 
     16        t.plan( 10 ); 
    1717 
    1818        var url = "http://octo.metacarta.com/cgi-bin/mapserv"; 
     
    2424        t.eq( layer.params.SERVICE, "WMS", "default params correclty uppercased and copied"); 
    2525 
    26  
     26        t.eq(layer.isBaseLayer, true, "no transparency setting, wms is baselayer"); 
     27 
     28        params.TRANSPARENT = "true"; 
     29        var layer2 = new OpenLayers.Layer.WMS(name, url, params); 
     30        t.eq(layer2.isBaseLayer, false, "transparency == 'true', wms is baselayer"); 
     31 
     32        params.TRANSPARENT = "TRUE"; 
     33        var layer3 = new OpenLayers.Layer.WMS(name, url, params); 
     34        t.eq(layer3.isBaseLayer, false, "transparency == 'TRUE', wms is baselayer"); 
     35 
     36        params.TRANSPARENT = "TRuE"; 
     37        var layer4 = new OpenLayers.Layer.WMS(name, url, params); 
     38        t.eq(layer4.isBaseLayer, true, "transparency == 'TRuE', wms is not baselayer"); 
     39 
     40        params.TRANSPARENT = true; 
     41        var layer5 = new OpenLayers.Layer.WMS(name, url, params); 
     42        t.eq(layer5.isBaseLayer, false, "transparency == true, wms is baselayer"); 
     43 
     44        params.TRANSPARENT = false; 
     45        var layer6 = new OpenLayers.Layer.WMS(name, url, params); 
     46        t.eq(layer6.isBaseLayer, true, "transparency == false, wms is not baselayer"); 
    2747    } 
    2848