From 9dcc6d1e7d374ed5359cae97ec5cfa9ece6334d3 Mon Sep 17 00:00:00 2001 From: faebebin Date: Fri, 24 Jun 2022 15:10:40 +0200 Subject: [PATCH] Fix connect features when crossing with pedestrian signals --- modules/validations/crossing_ways.js | 2 +- test/spec/validations/crossing_ways.js | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/modules/validations/crossing_ways.js b/modules/validations/crossing_ways.js index aec7b4094..24f077abb 100644 --- a/modules/validations/crossing_ways.js +++ b/modules/validations/crossing_ways.js @@ -146,7 +146,7 @@ export function validationCrossingWays(context) { return {}; } var pathFeature = entity1IsPath ? entity1 : entity2; - if (['marked', 'unmarked'].indexOf(pathFeature.tags.crossing) !== -1) { + if (['marked', 'unmarked', 'traffic_signals'].indexOf(pathFeature.tags.crossing) !== -1) { // if the path is a crossing, match the crossing type return bothLines ? { highway: 'crossing', crossing: pathFeature.tags.crossing } : {}; } diff --git a/test/spec/validations/crossing_ways.js b/test/spec/validations/crossing_ways.js index ae46b98f7..308af2272 100644 --- a/test/spec/validations/crossing_ways.js +++ b/test/spec/validations/crossing_ways.js @@ -213,11 +213,21 @@ describe('iD.validations.crossing_ways', function () { verifySingleCrossingIssue(validate(), { highway: 'crossing' }); }); - it('flags road crossing crosswalk', function() { + it('flags road crossing marked crosswalk', function() { createWaysWithOneCrossingPoint({ highway: 'residential' }, { highway: 'footway', crossing: 'marked' }); verifySingleCrossingIssue(validate(), { highway: 'crossing', crossing: 'marked' }); }); + it('flags road crossing crosswalk with traffic_signals', function() { + createWaysWithOneCrossingPoint({ highway: 'residential' }, { highway: 'footway', crossing: 'traffic_signals' }); + verifySingleCrossingIssue(validate(), { highway: 'crossing', crossing: 'traffic_signals' }); + }); + + it('flags road crossing unmarked crosswalk', function() { + createWaysWithOneCrossingPoint({ highway: 'residential' }, { highway: 'footway', crossing: 'unmarked' }); + verifySingleCrossingIssue(validate(), { highway: 'crossing', crossing: 'unmarked' }); + }); + it('flags road=track crossing footway', function() { createWaysWithOneCrossingPoint({ highway: 'track' }, { highway: 'footway' }); verifySingleCrossingIssue(validate(), {});