2 Feature: Tag evaluation
3 Tests if tags are correctly updated in the place table
11 Scenario: Main tag deleted
14 n1 Tamenity=restaurant
15 n2 Thighway=bus_stop,railway=stop,name=X
18 Then place contains exactly
19 | object | class | type |
20 | N1 | amenity | restaurant |
21 | N2:highway | highway | bus_stop |
22 | N2:railway | railway | stop |
23 | N3 | amenity | prison |
25 When updating osm data
28 n2 Thighway=bus_stop,name=X
30 Then place contains exactly
31 | object | class | type |
32 | N2:highway | highway | bus_stop |
33 | N3 | amenity | prison |
35 | object | indexed_status |
41 Scenario: Main tag added
45 n2 Thighway=bus_stop,name=X
47 Then place contains exactly
48 | object | class | type |
49 | N2:highway | highway | bus_stop |
51 When updating osm data
53 n1 Tamenity=restaurant
54 n2 Thighway=bus_stop,railway=stop,name=X
56 Then place contains exactly
57 | object | class | type |
58 | N1 | amenity | restaurant |
59 | N2:highway | highway | bus_stop |
60 | N2:railway | railway | stop |
62 | object | indexed_status |
67 Scenario: Main tag modified
70 n10 Thighway=footway,name=X
73 Then place contains exactly
74 | object | class | type |
75 | N10 | highway | footway |
76 | N11 | amenity | atm |
78 When updating osm data
80 n10 Thighway=path,name=X
83 Then place contains exactly
84 | object | class | type |
85 | N10 | highway | path |
86 | N11 | highway | primary |
88 | object | indexed_status |
93 Scenario: Main tags with name, name added
99 Then place contains exactly
100 | object | class | type |
102 When updating osm data
104 n45 Tlanduse=cemetry,name=TODO
105 n46 Tbuilding=yes,addr:housenumber=1
107 Then place contains exactly
108 | object | class | type |
109 | N45 | landuse | cemetry |
110 | N46 | building| yes |
111 And placex contains exactly
112 | object | indexed_status |
117 Scenario: Main tags with name, name removed
118 When loading osm data
120 n45 Tlanduse=cemetry,name=TODO
121 n46 Tbuilding=yes,addr:housenumber=1
123 Then place contains exactly
124 | object | class | type |
125 | N45 | landuse | cemetry |
126 | N46 | building| yes |
128 When updating osm data
133 Then place contains exactly
134 | object | class | type |
135 And placex contains exactly
136 | object | indexed_status |
137 | N45:landuse | 100 |
138 | N46:building | 100 |
141 Scenario: Main tags with name, name modified
142 When loading osm data
144 n45 Tlanduse=cemetry,name=TODO
145 n46 Tbuilding=yes,addr:housenumber=1
147 Then place contains exactly
148 | object | class | type | name | address |
149 | N45 | landuse | cemetry | 'name' : 'TODO' | - |
150 | N46 | building| yes | - | 'housenumber': '1'|
152 When updating osm data
154 n45 Tlanduse=cemetry,name=DONE
155 n46 Tbuilding=yes,addr:housenumber=10
157 Then place contains exactly
158 | object | class | type | name | address |
159 | N45 | landuse | cemetry | 'name' : 'DONE' | - |
160 | N46 | building| yes | - | 'housenumber': '10'|
161 And placex contains exactly
162 | object | indexed_status |
167 Scenario: Main tag added to address only node
168 When loading osm data
170 n1 Taddr:housenumber=345
172 Then place contains exactly
173 | object | class | type | address |
174 | N1 | place | house | 'housenumber': '345'|
176 When updating osm data
178 n1 Taddr:housenumber=345,building=yes
180 Then place contains exactly
181 | object | class | type | address |
182 | N1 | building | yes | 'housenumber': '345'|
183 And placex contains exactly
184 | object | indexed_status |
189 Scenario: Main tag removed from address only node
190 When loading osm data
192 n1 Taddr:housenumber=345,building=yes
194 Then place contains exactly
195 | object | class | type | address |
196 | N1 | building | yes | 'housenumber': '345'|
198 When updating osm data
200 n1 Taddr:housenumber=345
202 Then place contains exactly
203 | object | class | type | address |
204 | N1 | place | house | 'housenumber': '345'|
205 And placex contains exactly
206 | object | indexed_status |
208 | N1:building | 100 |
211 Scenario: Main tags with name key, adding key name
212 When loading osm data
216 Then place contains exactly
217 | object | class | type |
219 When updating osm data
221 n2 Tbridge=yes,bridge:name=high
223 Then place contains exactly
224 | object | class | type | name |
225 | N2 | bridge | yes | 'name': 'high' |
226 And placex contains exactly
227 | object | indexed_status |
231 Scenario: Main tags with name key, deleting key name
232 When loading osm data
234 n2 Tbridge=yes,bridge:name=high
236 Then place contains exactly
237 | object | class | type | name |
238 | N2 | bridge | yes | 'name': 'high' |
240 When updating osm data
244 Then place contains exactly
245 | object | class | type |
246 And placex contains exactly
247 | object | indexed_status |
251 Scenario: Main tags with name key, changing key name
252 When loading osm data
254 n2 Tbridge=yes,bridge:name=high
256 Then place contains exactly
257 | object | class | type | name |
258 | N2 | bridge | yes | 'name': 'high' |
260 When updating osm data
262 n2 Tbridge=yes,bridge:name:en=high
264 Then place contains exactly
265 | object | class | type | name |
266 | N2 | bridge | yes | 'name:en': 'high' |
267 And placex contains exactly
268 | object | indexed_status |
272 Scenario: Downgrading a highway to one that is dropped without name
273 When loading osm data
277 w1 Thighway=residential Nn100,n101
279 Then place contains exactly
283 When updating osm data
285 w1 Thighway=service Nn100,n101
287 Then place contains exactly
289 And placex contains exactly
290 | object | indexed_status |
294 Scenario: Upgrading a highway to one that is not dropped without name
295 When loading osm data
299 w1 Thighway=service Nn100,n101
301 Then place contains exactly
304 When updating osm data
306 w1 Thighway=unclassified Nn100,n101
308 Then place contains exactly
311 And placex contains exactly
312 | object | indexed_status |
316 Scenario: Downgrading a highway when a second tag is present
317 When loading osm data
321 w1 Thighway=residential,tourism=hotel Nn100,n101
323 Then place contains exactly
328 When updating osm data
330 w1 Thighway=service,tourism=hotel Nn100,n101
332 Then place contains exactly
335 And placex contains exactly
340 | object | indexed_status |
344 Scenario: Upgrading a highway when a second tag is present
345 When loading osm data
349 w1 Thighway=service,tourism=hotel Nn100,n101
351 Then place contains exactly
355 When updating osm data
357 w1 Thighway=residential,tourism=hotel Nn100,n101
359 Then place contains exactly
363 And placex contains exactly
364 | object | indexed_status |
369 Scenario: Replay on administrative boundary
370 When loading osm data
375 w10 Tboundary=administrative,waterway=river,name=Border,admin_level=2 Nn12,n11,n10
377 Then place contains exactly
382 When updating osm data
384 w10 Tboundary=administrative,waterway=river,name=Border,admin_level=2 Nn12,n11,n10
386 Then place contains exactly
390 And placex contains exactly
395 Scenario: Change admin_level on administrative boundary
396 When loading osm data
401 w10 Tboundary=administrative,name=Border,admin_level=2 Nn12,n11,n10
403 Then place contains exactly
404 | object | admin_level |
407 When updating osm data
409 w10 Tboundary=administrative,name=Border,admin_level=4 Nn12,n11,n10
411 Then place contains exactly
412 | object | admin_level |