Proper getAttributes method

With a59aa9bb37 we can now provide an object with user set attributes.
This commit is contained in:
Tim Schaub
2013-02-20 10:32:51 -07:00
parent 0f2f26969d
commit 7ce89f1fbe
2 changed files with 33 additions and 11 deletions

View File

@@ -28,17 +28,15 @@ goog.inherits(ol.Feature, ol.Object);
* @return {Object} Attributes object. * @return {Object} Attributes object.
*/ */
ol.Feature.prototype.getAttributes = function() { ol.Feature.prototype.getAttributes = function() {
// TODO: see https://github.com/openlayers/ol3/pull/217 var keys = this.getKeys(),
// var keys = this.getKeys(), len = keys.length,
// len = keys.length, attributes = {},
// attributes = {}, i, key;
// i, key for (i = 0; i < len; ++ i) {
// for (var i = 0; i < len; ++ i) { key = keys[i];
// key = keys[i]; attributes[key] = this.get(key);
// attributes[key] = this.get(key); }
// } return attributes;
// return attributes;
return this;
}; };

View File

@@ -52,6 +52,29 @@ describe('ol.Feature', function() {
}); });
describe('#getAttributes()', function() {
it('returns an object with all attributes', function() {
var point = new ol.geom.Point([15, 30]);
var feature = new ol.Feature({
foo: 'bar',
ten: 10,
loc: point
});
var attributes = feature.getAttributes();
var keys = goog.object.getKeys(attributes);
expect(keys.sort()).toEqual(['foo', 'loc', 'ten']);
expect(attributes.foo).toBe('bar');
expect(attributes.loc).toBe(point);
expect(attributes.ten).toBe(10);
});
});
describe('#getGeometry()', function() { describe('#getGeometry()', function() {
var point = new ol.geom.Point([15, 30]); var point = new ol.geom.Point([15, 30]);
@@ -157,5 +180,6 @@ describe('ol.Feature', function() {
}); });
goog.require('goog.object');
goog.require('ol.Feature'); goog.require('ol.Feature');
goog.require('ol.geom.Point'); goog.require('ol.geom.Point');