Allow multi* geometries in Collections/collections.
This commit is contained in:
@@ -28,7 +28,12 @@ ol.geom.Collection = function(components) {
|
|||||||
* @private
|
* @private
|
||||||
* @type {Array.<Function>}
|
* @type {Array.<Function>}
|
||||||
*/
|
*/
|
||||||
this.typeWhitelist_ = [];
|
this.typeWhitelist_ = [
|
||||||
|
ol.geom.MultiPoint,
|
||||||
|
ol.geom.MultiLineString
|
||||||
|
// TODO uncomment when implemented
|
||||||
|
// ,ol.geom.MultiPolygon
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @private
|
* @private
|
||||||
|
|||||||
@@ -51,6 +51,28 @@ describe("ol.geom.collection", function() {
|
|||||||
expect( firstComponent.x() + ',' + firstComponent.y() ).toBe( '24,7' );
|
expect( firstComponent.x() + ',' + firstComponent.y() ).toBe( '24,7' );
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("cannot add 'ol.geom.collection'", function(){
|
||||||
|
expect(function(){
|
||||||
|
c.add(
|
||||||
|
ol.geom.collection([
|
||||||
|
ol.geom.point([5,25]),
|
||||||
|
ol.geom.point([6,36])
|
||||||
|
])
|
||||||
|
);
|
||||||
|
}).toThrow();
|
||||||
|
});
|
||||||
|
|
||||||
|
it("allows 'ol.geom.multi*' (even though these are technically of ol.geom.collections)", function(){
|
||||||
|
expect(function(){
|
||||||
|
c.add(
|
||||||
|
ol.geom.multipoint([
|
||||||
|
ol.geom.point([5,25]),
|
||||||
|
ol.geom.point([6,36])
|
||||||
|
])
|
||||||
|
);
|
||||||
|
}).not.toThrow();
|
||||||
|
});
|
||||||
|
|
||||||
it("the index is functional", function(){
|
it("the index is functional", function(){
|
||||||
var p = ol.geom.point([24,7]);
|
var p = ol.geom.point([24,7]);
|
||||||
c.add(p, 1);
|
c.add(p, 1);
|
||||||
|
|||||||
@@ -113,6 +113,17 @@ describe("ol.geom.Collection", function() {
|
|||||||
}).toThrow();
|
}).toThrow();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("allows instances of 'ol.geom.Multi*' (even though these are subclasses of ol.geom.Collection)", function(){
|
||||||
|
expect(function(){
|
||||||
|
c.addComponent(
|
||||||
|
new ol.geom.MultiPoint([
|
||||||
|
new ol.geom.Point(5,25),
|
||||||
|
new ol.geom.Point(6,36)
|
||||||
|
])
|
||||||
|
);
|
||||||
|
}).not.toThrow();
|
||||||
|
});
|
||||||
|
|
||||||
it("has a method to remove components", function() {
|
it("has a method to remove components", function() {
|
||||||
c.setComponents([
|
c.setComponents([
|
||||||
new ol.geom.Point(0,10),
|
new ol.geom.Point(0,10),
|
||||||
|
|||||||
Reference in New Issue
Block a user