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 |
34 And placex contains exactly
35 | object | indexed_status |
42 Scenario: Main tag added
46 n2 Thighway=bus_stop,name=X
48 Then place contains exactly
49 | object | class | type |
50 | N2:highway | highway | bus_stop |
52 When updating osm data
54 n1 Tamenity=restaurant
55 n2 Thighway=bus_stop,railway=stop,name=X
57 Then place contains exactly
58 | object | class | type |
59 | N1 | amenity | restaurant |
60 | N2:highway | highway | bus_stop |
61 | N2:railway | railway | stop |
62 And placex contains exactly
63 | object | indexed_status |
69 Scenario: Main tag modified
72 n10 Thighway=footway,name=X
75 Then place contains exactly
76 | object | class | type |
77 | N10 | highway | footway |
78 | N11 | amenity | atm |
80 When updating osm data
82 n10 Thighway=path,name=X
85 Then place contains exactly
86 | object | class | type |
87 | N10 | highway | path |
88 | N11 | highway | primary |
90 | object | indexed_status |
95 Scenario: Main tags with name, name added
101 Then place contains exactly
102 | object | class | type |
104 When updating osm data
106 n45 Tlanduse=cemetry,name=TODO
107 n46 Tbuilding=yes,addr:housenumber=1
109 Then place contains exactly
110 | object | class | type |
111 | N45 | landuse | cemetry |
112 | N46 | building| yes |
113 And placex contains exactly
114 | object | indexed_status |
119 Scenario: Main tags with name, name removed
120 When loading osm data
122 n45 Tlanduse=cemetry,name=TODO
123 n46 Tbuilding=yes,addr:housenumber=1
125 Then place contains exactly
126 | object | class | type |
127 | N45 | landuse | cemetry |
128 | N46 | building| yes |
130 When updating osm data
135 Then place contains exactly
136 | object | class | type |
137 And placex contains exactly
138 | object | indexed_status |
139 | N45:landuse | 100 |
140 | N46:building | 100 |
143 Scenario: Main tags with name, name modified
144 When loading osm data
146 n45 Tlanduse=cemetry,name=TODO
147 n46 Tbuilding=yes,addr:housenumber=1
149 Then place contains exactly
150 | object | class | type | name | address |
151 | N45 | landuse | cemetry | 'name' : 'TODO' | - |
152 | N46 | building| yes | - | 'housenumber': '1'|
154 When updating osm data
156 n45 Tlanduse=cemetry,name=DONE
157 n46 Tbuilding=yes,addr:housenumber=10
159 Then place contains exactly
160 | object | class | type | name | address |
161 | N45 | landuse | cemetry | 'name' : 'DONE' | - |
162 | N46 | building| yes | - | 'housenumber': '10'|
163 And placex contains exactly
164 | object | indexed_status |
169 Scenario: Main tag added to address only node
170 When loading osm data
172 n1 Taddr:housenumber=345
174 Then place contains exactly
175 | object | class | type | address |
176 | N1 | place | house | 'housenumber': '345'|
178 When updating osm data
180 n1 Taddr:housenumber=345,building=yes
182 Then place contains exactly
183 | object | class | type | address |
184 | N1 | building | yes | 'housenumber': '345'|
185 And placex contains exactly
186 | object | indexed_status |
191 Scenario: Main tag removed from address only node
192 When loading osm data
194 n1 Taddr:housenumber=345,building=yes
196 Then place contains exactly
197 | object | class | type | address |
198 | N1 | building | yes | 'housenumber': '345'|
200 When updating osm data
202 n1 Taddr:housenumber=345
204 Then place contains exactly
205 | object | class | type | address |
206 | N1 | place | house | 'housenumber': '345'|
207 And placex contains exactly
208 | object | indexed_status |
210 | N1:building | 100 |
213 Scenario: Main tags with name key, adding key name
214 When loading osm data
218 Then place contains exactly
219 | object | class | type |
221 When updating osm data
223 n2 Tbridge=yes,bridge:name=high
225 Then place contains exactly
226 | object | class | type | name |
227 | N2 | bridge | yes | 'name': 'high' |
228 And placex contains exactly
229 | object | indexed_status |
233 Scenario: Main tags with name key, deleting key name
234 When loading osm data
236 n2 Tbridge=yes,bridge:name=high
238 Then place contains exactly
239 | object | class | type | name |
240 | N2 | bridge | yes | 'name': 'high' |
242 When updating osm data
246 Then place contains exactly
247 | object | class | type |
248 And placex contains exactly
249 | object | indexed_status |
253 Scenario: Main tags with name key, changing key name
254 When loading osm data
256 n2 Tbridge=yes,bridge:name=high
258 Then place contains exactly
259 | object | class | type | name |
260 | N2 | bridge | yes | 'name': 'high' |
262 When updating osm data
264 n2 Tbridge=yes,bridge:name:en=high
266 Then place contains exactly
267 | object | class | type | name |
268 | N2 | bridge | yes | 'name:en': 'high' |
269 And placex contains exactly
270 | object | indexed_status |
274 Scenario: Downgrading a highway to one that is dropped without name
275 When loading osm data
279 w1 Thighway=residential Nn100,n101
281 Then place contains exactly
285 When updating osm data
287 w1 Thighway=service Nn100,n101
289 Then place contains exactly
291 And placex contains exactly
292 | object | indexed_status |
296 Scenario: Upgrading a highway to one that is not dropped without name
297 When loading osm data
301 w1 Thighway=service Nn100,n101
303 Then place contains exactly
306 When updating osm data
308 w1 Thighway=unclassified Nn100,n101
310 Then place contains exactly
313 And placex contains exactly
314 | object | indexed_status |
318 Scenario: Downgrading a highway when a second tag is present
319 When loading osm data
323 w1 Thighway=residential,tourism=hotel Nn100,n101
325 Then place contains exactly
330 When updating osm data
332 w1 Thighway=service,tourism=hotel Nn100,n101
334 Then place contains exactly
337 And placex contains exactly
342 | object | indexed_status |
346 Scenario: Upgrading a highway when a second tag is present
347 When loading osm data
351 w1 Thighway=service,tourism=hotel Nn100,n101
353 Then place contains exactly
357 When updating osm data
359 w1 Thighway=residential,tourism=hotel Nn100,n101
361 Then place contains exactly
365 And placex contains exactly
366 | object | indexed_status |