2 Feature: Tag evaluation
3 Tests if tags are correctly updated in the place table
6 Scenario: Main tag deleted
10 n2 Thighway=bus_stop,railway=stop,name=X
13 Then place contains exactly
14 | object | class | type |
15 | N1 | amenity | restaurant |
16 | N2:highway | highway | bus_stop |
17 | N2:railway | railway | stop |
18 | N3 | amenity | prison |
20 When updating osm data
23 n2 Thighway=bus_stop,name=X
25 Then place contains exactly
26 | object | class | type |
27 | N2:highway | highway | bus_stop |
28 | N3 | amenity | prison |
29 And placex contains exactly
30 | object | indexed_status |
37 Scenario: Main tag added
41 n2 Thighway=bus_stop,name=X
43 Then place contains exactly
44 | object | class | type |
45 | N2:highway | highway | bus_stop |
47 When updating osm data
49 n1 Tamenity=restaurant
50 n2 Thighway=bus_stop,railway=stop,name=X
52 Then place contains exactly
53 | object | class | type |
54 | N1 | amenity | restaurant |
55 | N2:highway | highway | bus_stop |
56 | N2:railway | railway | stop |
57 And placex contains exactly
58 | object | indexed_status |
64 Scenario: Main tag modified
67 n10 Thighway=footway,name=X
70 Then place contains exactly
71 | object | class | type |
72 | N10 | highway | footway |
73 | N11 | amenity | atm |
75 When updating osm data
77 n10 Thighway=path,name=X
80 Then place contains exactly
81 | object | class | type |
82 | N10 | highway | path |
83 | N11 | highway | primary |
85 | object | indexed_status |
90 Scenario: Main tags with name, name added
96 Then place contains exactly
97 | object | class | type |
99 When updating osm data
101 n45 Tlanduse=cemetry,name=TODO
102 n46 Tbuilding=yes,addr:housenumber=1
104 Then place contains exactly
105 | object | class | type |
106 | N45 | landuse | cemetry |
107 | N46 | building| yes |
108 And placex contains exactly
109 | object | indexed_status |
114 Scenario: Main tags with name, name removed
115 When loading osm data
117 n45 Tlanduse=cemetry,name=TODO
118 n46 Tbuilding=yes,addr:housenumber=1
120 Then place contains exactly
121 | object | class | type |
122 | N45 | landuse | cemetry |
123 | N46 | building| yes |
125 When updating osm data
130 Then place contains exactly
131 | object | class | type |
132 And placex contains exactly
133 | object | indexed_status |
134 | N45:landuse | 100 |
135 | N46:building | 100 |
138 Scenario: Main tags with name, name modified
139 When loading osm data
141 n45 Tlanduse=cemetry,name=TODO
142 n46 Tbuilding=yes,addr:housenumber=1
144 Then place contains exactly
145 | object | class | type | name | address |
146 | N45 | landuse | cemetry | 'name' : 'TODO' | - |
147 | N46 | building| yes | - | 'housenumber': '1'|
149 When updating osm data
151 n45 Tlanduse=cemetry,name=DONE
152 n46 Tbuilding=yes,addr:housenumber=10
154 Then place contains exactly
155 | object | class | type | name | address |
156 | N45 | landuse | cemetry | 'name' : 'DONE' | - |
157 | N46 | building| yes | - | 'housenumber': '10'|
158 And placex contains exactly
159 | object | indexed_status |
164 Scenario: Main tag added to address only node
165 When loading osm data
167 n1 Taddr:housenumber=345
169 Then place contains exactly
170 | object | class | type | address |
171 | N1 | place | house | 'housenumber': '345'|
173 When updating osm data
175 n1 Taddr:housenumber=345,building=yes
177 Then place contains exactly
178 | object | class | type | address |
179 | N1 | building | yes | 'housenumber': '345'|
180 And placex contains exactly
181 | object | indexed_status |
186 Scenario: Main tag removed from address only node
187 When loading osm data
189 n1 Taddr:housenumber=345,building=yes
191 Then place contains exactly
192 | object | class | type | address |
193 | N1 | building | yes | 'housenumber': '345'|
195 When updating osm data
197 n1 Taddr:housenumber=345
199 Then place contains exactly
200 | object | class | type | address |
201 | N1 | place | house | 'housenumber': '345'|
202 And placex contains exactly
203 | object | indexed_status |
205 | N1:building | 100 |
208 Scenario: Main tags with name key, adding key name
209 When loading osm data
213 Then place contains exactly
214 | object | class | type |
216 When updating osm data
218 n22 Tbridge=yes,bridge:name=high
220 Then place contains exactly
221 | object | class | type | name |
222 | N22 | bridge | yes | 'name': 'high' |
223 And placex contains exactly
224 | object | indexed_status |
228 Scenario: Main tags with name key, deleting key name
229 When loading osm data
231 n22 Tbridge=yes,bridge:name=high
233 Then place contains exactly
234 | object | class | type | name |
235 | N22 | bridge | yes | 'name': 'high' |
237 When updating osm data
241 Then place contains exactly
242 | object | class | type |
243 And placex contains exactly
244 | object | indexed_status |
248 Scenario: Main tags with name key, changing key name
249 When loading osm data
251 n22 Tbridge=yes,bridge:name=high
253 Then place contains exactly
254 | object | class | type | name |
255 | N22 | bridge | yes | 'name': 'high' |
257 When updating osm data
259 n22 Tbridge=yes,bridge:name:en=high
261 Then place contains exactly
262 | object | class | type | name |
263 | N22 | bridge | yes | 'name:en': 'high' |
264 And placex contains exactly
265 | object | indexed_status |
269 Scenario: Downgrading a highway to one that is dropped without name
270 When loading osm data
274 w1 Thighway=residential Nn100,n101
276 Then place contains exactly
280 When updating osm data
282 w1 Thighway=service Nn100,n101
284 Then place contains exactly
286 And placex contains exactly
287 | object | indexed_status |
291 Scenario: Upgrading a highway to one that is not dropped without name
292 When loading osm data
296 w1 Thighway=service Nn100,n101
298 Then place contains exactly
301 When updating osm data
303 w1 Thighway=unclassified Nn100,n101
305 Then place contains exactly
308 And placex contains exactly
309 | object | indexed_status |
313 Scenario: Downgrading a highway when a second tag is present
314 When loading osm data
318 w1 Thighway=residential,tourism=hotel Nn100,n101
320 Then place contains exactly
325 When updating osm data
327 w1 Thighway=service,tourism=hotel Nn100,n101
329 Then place contains exactly
332 And placex contains exactly
337 | object | indexed_status |
341 Scenario: Upgrading a highway when a second tag is present
342 When loading osm data
346 w1 Thighway=service,tourism=hotel Nn100,n101
348 Then place contains exactly
352 When updating osm data
354 w1 Thighway=residential,tourism=hotel Nn100,n101
356 Then place contains exactly
360 And placex contains exactly
361 | object | indexed_status |