| | 1068 | |
| | 1069 | /* #23932 */ |
| | 1070 | way[cycleway:right][cycleway:right!=lane][cycleway:right!=separate][/^cycleway(:right|:both|):buffer/], |
| | 1071 | way[cycleway:left][cycleway:left!=lane][cycleway:left!=separate][/^cycleway(:left|:both|):buffer/], |
| | 1072 | way[cycleway:both][cycleway:both!=lane][cycleway:both!=separate][/^cycleway(:right|:left|:both|):buffer/], |
| | 1073 | way[cycleway][cycleway!=lane][cycleway!=separate][/^cycleway(:right|:left|:both|):buffer/] { |
| | 1074 | throwWarning: tr("{0} together with {1}", "{0.tag}", "{2.tag}"); |
| | 1075 | group: tr("suspicious tag combination"); |
| | 1076 | assertMatch: "way cycleway:right=separate cycleway:right:buffer=yes"; |
| | 1077 | assertMatch: "way cycleway:left=shared_lane cycleway:buffer=no"; |
| | 1078 | assertMatch: "way cycleway:both=track cycleway:left:buffer=yes"; |
| | 1079 | assertMatch: "way cycleway=shared_busway cycleway:buffer=no"; |
| | 1080 | assertNoMatch: "way cycleway:right=lane cycleway:right:buffer=no"; |
| | 1081 | assertNoMatch: "way cycleway:right=separate cycleway:right:buffer=yes"; |
| | 1082 | assertNoMatch: "way cycleway:left=lane cycleway:left:buffer=yes"; |
| | 1083 | assertNoMatch: "way cycleway:both=lane cycleway:both:buffer=no"; |
| | 1084 | assertNoMatch: "way cycleway:both=lane cycleway:left:buffer=yes"; |
| | 1085 | assertNoMatch: "way cycleway:both=lane cycleway:buffer=no"; |
| | 1086 | assertNoMatch: "way cycleway=lane cycleway:buffer=yes"; |
| | 1087 | assertNoMatch: "way cycleway=lane cycleway:right:buffer=no"; |
| | 1088 | assertNoMatch: "way cycleway=lane cycleway:both:buffer=no"; |
| | 1089 | } |
| | 1090 | |
| | 1091 | way[cycleway:right=separate][/^cycleway(:right|:both):./], |
| | 1092 | way[cycleway:left=separate][/^cycleway(:left|:both):./], |
| | 1093 | way[cycleway:both=separate][/^cycleway(:right|:left|:both):./], |
| | 1094 | way[cycleway=separate][/^cycleway(:right|:left|:both):./] { |
| | 1095 | throwWarning: tr("{0} together with {1}. Remove {1}.", "{0.tag}", "{1.tag}"); |
| | 1096 | group: tr("suspicious tag combination"); |
| | 1097 | assertMatch: "way cycleway:right=separate cycleway:right:surface=asphalt"; |
| | 1098 | assertMatch: "way cycleway:right=separate cycleway:both:buffer=yes"; |
| | 1099 | assertMatch: "way cycleway:left=separate cycleway:left:surface=asphalt"; |
| | 1100 | assertMatch: "way cycleway:left=separate cycleway:both:buffer=yes"; |
| | 1101 | assertMatch: "way cycleway:both=separate cycleway:right:surface=asphalt"; |
| | 1102 | assertMatch: "way cycleway:both=separate cycleway:left:surface=asphalt"; |
| | 1103 | assertMatch: "way cycleway:both=separate cycleway:both:buffer=yes"; |
| | 1104 | assertMatch: "way cycleway=separate cycleway:right:surface=asphalt"; |
| | 1105 | assertMatch: "way cycleway=separate cycleway:left:surface=asphalt"; |
| | 1106 | assertMatch: "way cycleway=separate cycleway:both:buffer=yes"; |
| | 1107 | assertNoMatch: "way cycleway:right=separate cycleway:left:surface=asphalt"; |
| | 1108 | assertNoMatch: "way cycleway:left=separate cycleway:right:buffer=yes"; |
| | 1109 | assertNoMatch: "way cycleway:both=separate"; |
| | 1110 | assertNoMatch: "way cycleway=separate"; |
| | 1111 | } |
| | 1112 | |
| | 1113 | way[/^cycleway:right:/][!cycleway:right][!cycleway:both][!cycleway], |
| | 1114 | way[/^cycleway:left:/][!cycleway:left][!cycleway:both][!cycleway], |
| | 1115 | way[/^cycleway:both:/][!cycleway:both][!cycleway][!cycleway:left], |
| | 1116 | way[/^cycleway:both:/][!cycleway:both][!cycleway][!cycleway:right], |
| | 1117 | way[cycleway:buffer][!cycleway][!cycleway:both][!cycleway:left], |
| | 1118 | way[cycleway:buffer][!cycleway][!cycleway:both][!cycleway:right] { |
| | 1119 | throwWarning: tr("{0} without {1}", "{0.key}", "{1.key}"); |
| | 1120 | group: tr("missing tag"); |
| | 1121 | suggestAlternative: "{0.tag} + {1.key}=*"; |
| | 1122 | assertMatch: "way cycleway:right=lane cycleway:left:buffer=yes"; |
| | 1123 | assertMatch: "way cycleway:right:buffer=yes"; |
| | 1124 | assertMatch: "way cycleway:right:surface=asphalt"; |
| | 1125 | assertMatch: "way cycleway:left=lane cycleway:right:buffer=no"; |
| | 1126 | assertMatch: "way cycleway:left:buffer=yes"; |
| | 1127 | assertMatch: "way cycleway:left:surface=asphalt"; |
| | 1128 | assertMatch: "way cycleway:both:buffer=yes"; |
| | 1129 | assertMatch: "way cycleway:both:surface=asphalt"; |
| | 1130 | assertMatch: "way cycleway:buffer=no"; |
| | 1131 | assertMatch: "way cycleway:left=lane cycleway:both:buffer=yes"; |
| | 1132 | assertMatch: "way cycleway:right=lane cycleway:buffer=no"; |
| | 1133 | assertNoMatch: "way cycleway:right=lane cycleway:right:buffer=yes"; |
| | 1134 | assertNoMatch: "way cycleway:left=lane cycleway:left:buffer=yes"; |
| | 1135 | assertNoMatch: "way cycleway:both=lane cycleway:both:buffer=yes"; |
| | 1136 | assertNoMatch: "way cycleway=lane cycleway:buffer=yes"; |
| | 1137 | assertNoMatch: "way cycleway:left=lane cycleway:right=lane cycleway:both:buffer=yes"; |
| | 1138 | assertNoMatch: "way cycleway:left=lane cycleway:right=lane cycleway:buffer=no"; |
| | 1139 | assertNoMatch: "way cycleway=lane cycleway:surface=asphalt"; |
| | 1140 | assertNoMatch: "way cycleway:both=lane cycleway:both:surface=asphalt"; |
| | 1141 | } |