OpenLayers OpenLayers

Changeset 9976

Show
Ignore:
Timestamp:
01/27/10 08:44:35 (1 month ago)
Author:
fredj
Message:

Don't create Folder name or description if foldersName or foldersDesc are null. r=pgiraud (closes #2417)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/openlayers/lib/OpenLayers/Format/KML.js

    r9975 r9976  
    3333    /**  
    3434     * APIProperty: placemarksDesc 
    35      * {String} Name of the placemarks.  Default is "No description available." 
     35     * {String} Name of the placemarks.  Default is "No description available". 
    3636     */ 
    3737    placemarksDesc: "No description available", 
     
    3939    /**  
    4040     * APIProperty: foldersName 
    41      * {String} Name of the folders.  Default is "OpenLayers export." 
     41     * {String} Name of the folders.  Default is "OpenLayers export". 
     42     *          If set to null, no name element will be created. 
    4243     */ 
    4344    foldersName: "OpenLayers export", 
     
    4647     * APIProperty: foldersDesc 
    4748     * {String} Description of the folders. Default is "Exported on [date]." 
     49     *          If set to null, no description element will be created. 
    4850     */ 
    4951    foldersDesc: "Exported on " + new Date(), 
     
    984986     */ 
    985987    createFolderXML: function() { 
    986         // Folder name 
    987         var folderName = this.createElementNS(this.kmlns, "name"); 
    988         var folderNameText = this.createTextNode(this.foldersName);  
    989         folderName.appendChild(folderNameText); 
    990  
    991         // Folder description 
    992         var folderDesc = this.createElementNS(this.kmlns, "description");         
    993         var folderDescText = this.createTextNode(this.foldersDesc);  
    994         folderDesc.appendChild(folderDescText); 
    995  
    996988        // Folder 
    997989        var folder = this.createElementNS(this.kmlns, "Folder"); 
    998         folder.appendChild(folderName); 
    999         folder.appendChild(folderDesc); 
    1000          
     990 
     991        // Folder name 
     992        if (this.foldersName) { 
     993            var folderName = this.createElementNS(this.kmlns, "name"); 
     994            var folderNameText = this.createTextNode(this.foldersName);  
     995            folderName.appendChild(folderNameText); 
     996            folder.appendChild(folderName); 
     997        } 
     998 
     999        // Folder description 
     1000        if (this.foldersDesc) { 
     1001            var folderDesc = this.createElementNS(this.kmlns, "description");         
     1002            var folderDescText = this.createTextNode(this.foldersDesc);  
     1003            folderDesc.appendChild(folderDescText); 
     1004            folder.appendChild(folderDesc); 
     1005        } 
     1006 
    10011007        return folder; 
    10021008    }, 
  • trunk/openlayers/tests/Format/KML.html

    r9975 r9976  
    6767        var kmlExpected = this.test_content; 
    6868        var options = { 
    69             folderName: "OpenLayers export", 
     69            foldersName: "OpenLayers export", 
    7070            foldersDesc: "Vector geometries from OpenLayers" 
    71         } 
     71        }; 
    7272 
    7373        var format = new OpenLayers.Format.KML(options); 
     
    7676        var kmlOut = kmlOut.replace(/<\?[^>]*\?>/, ''); // Remove XML Prolog 
    7777        t.eq(kmlOut, kmlExpected, "correctly writes an KML doc string"); 
     78    } 
     79 
     80    function test_Format_KML_write_noNameDesc(t) { 
     81        t.plan(1); 
     82        var format = new OpenLayers.Format.KML({ 
     83            foldersName: null, 
     84            foldersDesc: null 
     85        }); 
     86        var geom = new OpenLayers.Geometry.Point(0, 0) 
     87        var feature = new OpenLayers.Feature.Vector(geom); 
     88        feature.id = 42; 
     89        var kmlOut = format.write(feature); 
     90        var expected = '<kml xmlns="http://earth.google.com/kml/2.0"><Folder><Placemark><name>42</name><description>No description available</description><Point><coordinates>0,0</coordinates></Point></Placemark></Folder></kml>' 
     91        t.eq(kmlOut, expected, "null foldersName or foldersDesc don't create elements"); 
    7892    } 
    7993