Don't create Folder name or description if foldersName or foldersDesc are null. r=pgiraud (closes #2417)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@9976 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -32,19 +32,21 @@ OpenLayers.Format.KML = OpenLayers.Class(OpenLayers.Format.XML, {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* APIProperty: placemarksDesc
|
* APIProperty: placemarksDesc
|
||||||
* {String} Name of the placemarks. Default is "No description available."
|
* {String} Name of the placemarks. Default is "No description available".
|
||||||
*/
|
*/
|
||||||
placemarksDesc: "No description available",
|
placemarksDesc: "No description available",
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* APIProperty: foldersName
|
* APIProperty: foldersName
|
||||||
* {String} Name of the folders. Default is "OpenLayers export."
|
* {String} Name of the folders. Default is "OpenLayers export".
|
||||||
|
* If set to null, no name element will be created.
|
||||||
*/
|
*/
|
||||||
foldersName: "OpenLayers export",
|
foldersName: "OpenLayers export",
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* APIProperty: foldersDesc
|
* APIProperty: foldersDesc
|
||||||
* {String} Description of the folders. Default is "Exported on [date]."
|
* {String} Description of the folders. Default is "Exported on [date]."
|
||||||
|
* If set to null, no description element will be created.
|
||||||
*/
|
*/
|
||||||
foldersDesc: "Exported on " + new Date(),
|
foldersDesc: "Exported on " + new Date(),
|
||||||
|
|
||||||
@@ -983,20 +985,24 @@ OpenLayers.Format.KML = OpenLayers.Class(OpenLayers.Format.XML, {
|
|||||||
* {DOMElement}
|
* {DOMElement}
|
||||||
*/
|
*/
|
||||||
createFolderXML: function() {
|
createFolderXML: function() {
|
||||||
// Folder name
|
|
||||||
var folderName = this.createElementNS(this.kmlns, "name");
|
|
||||||
var folderNameText = this.createTextNode(this.foldersName);
|
|
||||||
folderName.appendChild(folderNameText);
|
|
||||||
|
|
||||||
// Folder description
|
|
||||||
var folderDesc = this.createElementNS(this.kmlns, "description");
|
|
||||||
var folderDescText = this.createTextNode(this.foldersDesc);
|
|
||||||
folderDesc.appendChild(folderDescText);
|
|
||||||
|
|
||||||
// Folder
|
// Folder
|
||||||
var folder = this.createElementNS(this.kmlns, "Folder");
|
var folder = this.createElementNS(this.kmlns, "Folder");
|
||||||
folder.appendChild(folderName);
|
|
||||||
folder.appendChild(folderDesc);
|
// Folder name
|
||||||
|
if (this.foldersName) {
|
||||||
|
var folderName = this.createElementNS(this.kmlns, "name");
|
||||||
|
var folderNameText = this.createTextNode(this.foldersName);
|
||||||
|
folderName.appendChild(folderNameText);
|
||||||
|
folder.appendChild(folderName);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Folder description
|
||||||
|
if (this.foldersDesc) {
|
||||||
|
var folderDesc = this.createElementNS(this.kmlns, "description");
|
||||||
|
var folderDescText = this.createTextNode(this.foldersDesc);
|
||||||
|
folderDesc.appendChild(folderDescText);
|
||||||
|
folder.appendChild(folderDesc);
|
||||||
|
}
|
||||||
|
|
||||||
return folder;
|
return folder;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -66,9 +66,9 @@
|
|||||||
t.plan(1);
|
t.plan(1);
|
||||||
var kmlExpected = this.test_content;
|
var kmlExpected = this.test_content;
|
||||||
var options = {
|
var options = {
|
||||||
folderName: "OpenLayers export",
|
foldersName: "OpenLayers export",
|
||||||
foldersDesc: "Vector geometries from OpenLayers"
|
foldersDesc: "Vector geometries from OpenLayers"
|
||||||
}
|
};
|
||||||
|
|
||||||
var format = new OpenLayers.Format.KML(options);
|
var format = new OpenLayers.Format.KML(options);
|
||||||
var features = format.read(kmlExpected);
|
var features = format.read(kmlExpected);
|
||||||
@@ -77,6 +77,20 @@
|
|||||||
t.eq(kmlOut, kmlExpected, "correctly writes an KML doc string");
|
t.eq(kmlOut, kmlExpected, "correctly writes an KML doc string");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function test_Format_KML_write_noNameDesc(t) {
|
||||||
|
t.plan(1);
|
||||||
|
var format = new OpenLayers.Format.KML({
|
||||||
|
foldersName: null,
|
||||||
|
foldersDesc: null
|
||||||
|
});
|
||||||
|
var geom = new OpenLayers.Geometry.Point(0, 0)
|
||||||
|
var feature = new OpenLayers.Feature.Vector(geom);
|
||||||
|
feature.id = 42;
|
||||||
|
var kmlOut = format.write(feature);
|
||||||
|
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>'
|
||||||
|
t.eq(kmlOut, expected, "null foldersName or foldersDesc don't create elements");
|
||||||
|
}
|
||||||
|
|
||||||
function test_Format_KML_write_multis(t) {
|
function test_Format_KML_write_multis(t) {
|
||||||
/**
|
/**
|
||||||
* KML doesn't have a representation for multi geometries of a
|
* KML doesn't have a representation for multi geometries of a
|
||||||
|
|||||||
Reference in New Issue
Block a user