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