diff --git a/test/spec/ol/format/kml.test.js b/test/spec/ol/format/kml.test.js
index 34437c4eb5..172bb49388 100644
--- a/test/spec/ol/format/kml.test.js
+++ b/test/spec/ol/format/kml.test.js
@@ -1487,6 +1487,83 @@ describe('ol.format.KML', function() {
describe('extended data', function() {
+ it('can write ExtendedData with no values', function() {
+ var feature = new ol.Feature();
+ feature.set('foo', null);
+ feature.set('bar', undefined);
+ var features = [feature];
+ var node = format.writeFeaturesNode(features);
+ var text =
+ '' +
+ ' ' +
+ ' ' +
+ ' ' +
+ ' ' +
+ ' ' +
+ ' ' +
+ '';
+ expect(node).to.xmleql(ol.xml.parse(text));
+ });
+
+ it('can write ExtendedData with values', function() {
+ var feature = new ol.Feature();
+ feature.set('foo', 'bar');
+ feature.set('aNumber', 1000);
+ var features = [feature];
+ var node = format.writeFeaturesNode(features);
+ var text =
+ '' +
+ ' ' +
+ ' ' +
+ ' ' +
+ ' 1000' +
+ ' ' +
+ ' ' +
+ ' bar' +
+ ' ' +
+ ' ' +
+ ' ' +
+ '';
+ expect(node).to.xmleql(ol.xml.parse(text));
+ });
+
+ it('can write ExtendedData pair with displayName and value', function() {
+ var pair = {
+ value: 'bar',
+ displayName: 'display name'
+ };
+
+ var feature = new ol.Feature();
+ feature.set('foo', pair);
+
+ var features = [feature];
+ var node = format.writeFeaturesNode(features);
+ var text =
+ '' +
+ ' ' +
+ ' ' +
+ ' ' +
+ ' ' +
+ ' bar' +
+ ' ' +
+ ' ' +
+ ' ' +
+ '';
+ expect(node).to.xmleql(ol.xml.parse(text));
+ });
+
it('can read ExtendedData', function() {
var text =
'' +