mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-12 16:52:50 +00:00
Ensure that boundary relation members look like boundaries
This commit is contained in:
@@ -83,11 +83,12 @@ iD.svg = {
|
||||
};
|
||||
},
|
||||
|
||||
MultipolygonMemberTags: function(graph) {
|
||||
RelationMemberTags: function(graph) {
|
||||
return function(entity) {
|
||||
var tags = entity.tags;
|
||||
graph.parentRelations(entity).forEach(function(relation) {
|
||||
if (relation.isMultipolygon()) {
|
||||
var type = relation.tags.type;
|
||||
if (type === 'multipolygon' || type === 'boundary') {
|
||||
tags = _.extend({}, relation.tags, tags);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -86,7 +86,7 @@ iD.svg.Lines = function(projection) {
|
||||
lines
|
||||
.sort(waystack)
|
||||
.attr('d', getPath)
|
||||
.call(iD.svg.TagClasses().tags(iD.svg.MultipolygonMemberTags(graph)));
|
||||
.call(iD.svg.TagClasses().tags(iD.svg.RelationMemberTags(graph)));
|
||||
|
||||
lines.exit()
|
||||
.remove();
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
describe("iD.svg.RelationMemberTags", function() {
|
||||
it("includes tags from parent multipolygon relations", function() {
|
||||
var graph = iD.Graph([
|
||||
iD.Way({id: 'w'}),
|
||||
iD.Relation({id: 'r', members: [{id: 'w'}], tags: {type: 'multipolygon'}}),
|
||||
]);
|
||||
|
||||
expect(iD.svg.RelationMemberTags(graph)(graph.entity('w')))
|
||||
.to.eql({type: 'multipolygon'});
|
||||
});
|
||||
|
||||
it("includes tags from parent boundary relations", function() {
|
||||
var graph = iD.Graph([
|
||||
iD.Way({id: 'w'}),
|
||||
iD.Relation({id: 'r', members: [{id: 'w'}], tags: {type: 'boundary'}}),
|
||||
]);
|
||||
|
||||
expect(iD.svg.RelationMemberTags(graph)(graph.entity('w')))
|
||||
.to.eql({type: 'boundary'});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user